fix #319, should default to .Name on mapping if .TypeNameMarker is null, this happens when you don't use MapFluent but manually new your mapping objects. Also throws a better exception if both .Name and .TypeNameMarker are null/empty