Add support for HTTP PUT; cleanup
stupid stuff
Add tests for 100% coverage
Merging in support for HTTP PUT, additional cleanup