(gh-6) Seperated `POST` in to `POST` and `PUT`

Instead of using `PUSH` for both adding and updating resources I want `PUSH`
to be used only for adding resources and `POST` for updating resources. I
believe that this will provide a API interface which is easer to
document. It will also break up the code into two methods making it
cleaner.