Merge branch 'RecursiveTrees' (early part)
Fixes type conversion for abstract base classes.
Merge branch 'master' into RecursiveTrees

Conflicts:
	ImmutableObjectGraph.Tests/FileSystemTests.cs