Update Mapper to be more friendly to subclasses.
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
Default mapper will now raise a concurrent modification exception if you
try to cache a class a second time. The MappedClass will log this error
so previous expectations are the same on the code. A later review should
be done to determine if the exception should propagate out and stop
operations.
Merge pull request #36 from washu/master

Changes to make default mapper more friendly for those subclassing DefaultMapper. Also added a missing type in ReflectionUtils