Add ability to customize sync HTTP method, data format and payload keys

Add feature for developers to specify how SMSSync communicates with their server.

By default a normal `POST` request is sent; I needed a `PUT` or `POST` request with messages sent in `JSON` format (with my own keys for the data items) to ease integration with a CouchDB web app. 

![2013-08-23 21 30 41](https://f.cloud.github.com/assets/2534772/1018198/1c5bc9a0-0c23-11e3-9a63-69b74b6d6401.png)