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).
I'm not sure why we need both `Fetch` and `EnsureInitialized`. The latter is really just `Fetch` that suppresses the return values. I wonder if we shouldn't consolidate the methods (perhaps picking a third name) and then just access the single method in each of the places we need to, ignoring the return value when the client code doesn't care.