Abstract away common reflection operations into a new class, so that you would call things like e.g. DtoReflectionHelper<T>.GetFields(FieldType.SingleObject).
This will make the code easier to read and allow for reflection optimization techniques (such as a plugin to use FastMember).
(Broken off of #153)