Added mapp, reduce, find and hasId to BaseCollection

- Added map, reduce, and find methods to BaseCollection
  Also added Mapper, Reducer interfaces
- Created HasId interface => now every BaseCollection must have an id.