Proposal to handle your own data formats

OK, this pull request does too many things

    a) it fixes the problem that led to pull #10.
    b) it adds a :raw format
    c) it tidies a bit of the body/headers request
    d) it gives you the ability to specify your own response format (this is how it solves a)

Basically, to deal with the problem is pull #10, you would need to pass in 

```clj
(defn my-format [target] 
    (let [txt (.getResponseText target)]
        (if (seq txt)
             (js->clj (.getResponseJson target) :keywordize-keys true)
             "")))
```

and then post with `:format my-format`

So, standard JSON still behaves like standard JSON, but you can write your own special case rules for whatever is coming back from your API providers.