TypedReflection class

No performance increases here, rather just some assistance for code maintenance. Uses the c# lambda expression syntax to describe MethodInfo, PropertyInfo, FieldInfo and ConstructorInfo constructs. Obviously being typed, can only be used when the type is known, but there were still substantial places across the code base; I think I got them all.