Moved fake manager creation and initial configuration into the proxy generator (Part I)

This is the first part of PR #372 (we split it up into 2 PRs as mentioned there).

It solves #371 partially, namely that the default behavior is available inside the c'tor call. Therefore it also solves the bug #368 (see the `when_faking_a_class_which_calls_virtual_property_members_in_constructor` test case).
Perhaps it's just me, but I'm struggling a bit to get my head around this pattern. Is the purpose to avoid having an `ILazyInterceptionSinkProviderFactory` and accompanying implementation?

Another idea just to throw out there:- would it be possible to change the `ILazyInterceptionSinkProvider` to accept both `typeOfFake` and `proxy` and thus combine the two steps of 1) 'get provider' and 2) get sink into one? Or would that be impractical? Is `typeofFake` known at the time of call to `ILazyInterceptionSinkProvider`?