Starting to add tests

Hey James, 

Love the repo and think its a really cool idea. I wanted to start adding some tests to it so that it can be worked on with faster feedback and more stability confidence.

So this pull request has the beginnings of some unit tests. It's mainly around the easy stuff, but at least its a start! I was hoping to continue to add more whenever I get spare time, and that might involved refactoring some of the more complicated code to be able to get it under test.

I am using goconvey for the testing framework cause I thought that was one of the more established and easy to use BDD style frameworks in Go.