Adding primitive blog functionality and refactoring some repositories to use traits. Work in progress until I'm happy.

Signed-off-by: Ben Corlett <bencorlett@me.com>