Moved stuff around to remove overlap in variable names.

This brings it into line with golang projects which build many commands within the one project.

Also added a `Makefile` with some handy targets, also illustrates handy ./... syntax used in golang tools.

If you run `make fmt` the entire tree will be brought into line with golang code style which will fix #31

Note: This will be a massive whitespace change so thought it best you put your name on that one :)

Once you have done this I can pull a few things apart without worrying about formatting.