Settings

added the `settings` api, plus implemented the setting for xpath compression.
added docs and tests

will squash once approved of course,

Oh, also had to add to wd.js to get the tests working. If we are ok with my implementation I'll push there. In the meantime you can clone [my fork of wd.js](https://github.com/jonahss/wd).

And then I'm going to go and update the rest of the clients....

(of course I'll squash, once we're through here ;)
I'm assuming getSettings and updateSettings return parallel json.  ios/settings.js declares settings as an object. In getSettings you return this.settings in the value field. So in at least one case value can be an object, unless I'm misunderstanding something.