Split db and pass db object around

db has now become datasource{core,reports,tasks,users,util}.clj
the actual db connecter is now being passed into all the functions in
the datasource layer. This is great, because shortly we will be able to
implement an in-memory db connector and just pass that around too,
relying on protocols or multimethods to adapt the functionality.