sets omitempty to most properties

This is so we can send a minimal object to the API (desiredState &
fileContents).
changes the way HTTP requests are performed
yeah... I did it again...

I introduced a butt load of changes between commits...

So, I changed the HTTP handling, added HTTP debugging, changed the API
of the lib, added PutUnit
removes custom type for states
Strips out a load of the cruft
We can now build units from files