Allow Mapper to Map Any IDataReader

I made the Mapper more reusable so that it can map data from any
IDataReader to a DTO.