Remove class/interface validation when retrieving type from ElasticType

Since #731, this was causing an ArgumentException to be thrown when
mapping generic objects with value type parameters (List<int>,
Dictionary<long, string>, etc..).  The check doesn't seem necessary since
ElasticTypeAttribute is already constained to classes at compile time.

Also cleaned up PropertyNameResolver a bit.

Closes #926