Support public fields for keys
Handle properties and fields being replaced by derived classes.

I added code that will (correctly) chose the most derived property/field
when a conflict exists between the parent and child.

According to Microsoft, there is no guarantee of the order that members
will be returned, so I had to determine the members distance from the
object's type down the inheritance hierarchy and pick the closest.
Attempting to fix line endings
Merge remote-tracking branch 'upstream/master'

Conflicts:
	Local.testsettings
	TraceAndTestImpact.testsettings
	mustache-sharp.vsmdi
	mustache-sharp/Properties/AssemblyInfo.cs