Changes to make default mapper more friendly for those subclassinf DefaultMapper. Also addeda missing type in ReflectionUtils

Adjusted DefaultMapper to reflect changes in Mapper, some previous
private functions are now protected so someone overriding a few methods
can access those methods.

moved a few fields from the Mapper to

MapperOptions added BasicDBList to ReflectionUtils. 

Adjusted MappedClass to use a Mapper interface instead of DefaultMapper

Fixed a few warnings