Preheat oven to 350 F. Butter and flour 2 9-inch cake pans.
Cream butter and sugars together until fluffy. Beat in eggs and vanilla.
In a small pan stir water, chocolate and espresso powder over low heat until melted. Allow to cool slightly before beating into butter mixture.
Sift together flour, cocoa powder, baking soda, and salt and stir into batter alternately with sour cream. Divide evenly between the 2 pans and bake for 25-35 minutes, until a tester inserted in the center of the cake comes out clean.
Allow to cool 15 minutes in the pans, then turn cakes out onto a plate to cool completely.
Beat butter on high speed, scraping sides frequently, until light and fluffy. Reduce speed and beat in egg yolk. Add melted chocolate and mix in.
Add vanilla, salt and icing sugar and beat until smooth.
To ice the cake top one layer with icing and spread. Place second cake layer on top. Ice the top of the cake and finish with the sides. Chill cake to set, but it is best stored at room temperature (hence omitting egg yolk in frosting, if desired).