Set up base model object, Set up unit testing

Fixes #2
Fixes #6

Unit testing mgo was not easy. I don't want to have to recreate an interface
for it as this would be not DRY having  to redo work of recreating interface
of 3rd party lib. The lib withmock was not working but seems most promising.

I'm having trouble with package namespacing. I like having larger namespacing
such as in python. This is what I want:

import "util/time"

util.time.Now()

The way I'm doing this now seems like too much work by having to put sub
packages into a separate folder.

TODO:
- Debug withmock and get it working to create 3rd party mocks
- Reserach how to handle sub packages, hopefully without a sub folder.