Added generic CRUD repository traits

* Also added base Entity and EntityTable classes