Spiking Substitute.ForPartsOf<T>

Renabling @alexandrnikitin's initial call base by default idea to
  see if it better fits the examples I'm seeing.

Adding basic Maybe type, as no one should have to code without one.

TODO:
- decide whether to remove explicit CallBase option
- enable DoNotCallBase() for void calls? When().DoNotCallBase()?
- add overloads for Substitute.ForPartsOf.
- throw on Substitute.ForPartsOf if an interface is given
In progress, removing CallBase()
Adding call base exclusions (When..DoNotCallBase)
Cleaning up some unused code.
Replace boolean callBaseByDefault with SubstituteConfig enum
Updating Substitute.ForPartsOf xmldoc.