Completed rewritten Repository

- Repository now handles data construction from different ORM objects
- ActiveRecord has now been demoted to being a data provider, it no longer tightly couples with Repository, this means we could have multiple data providers!
- Repository is now much more robust
- As a result of the more robust system, it fixed an issue where updating an existing entity with new data records from mapped attributes will not persist the new data records correctly
Added Coveralls