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).
Extracting and returning the interface is slightly problematic as it will break clients using

FakeManager manager = Fake.GetFakeManager(fake);

(Not seriously, but just a little bit.)

Although I think an overall issue for examining what we should be exposing, in general, is not a bad idea. It can help us avoid these kinds of issues in the future, giving us more flexibility. Of course, making those changes may break people (although we'd try to avoid it). However, if we do that intentionally, in one lump, with warnings (and possibly a major version bump, just to be explicit), it could be a good move.

There's no rush on this.