Port to Go

Ported app over to Go, because that's what hobby projects are for.

Not the most idiomatic go as I kept pretty close to my original ruby. May do some tidying up later on.