Added support for repositories & Unit of work

I pulled this implementation from a presentation John Papa did.
However I didn't like how he resolved instances manually, rather than
through injection. I'll need to solve this myself later.
Added WebApi support