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 ;)
> There's no harm in bootstrap switching it's discard views setting on each call is there?

Why would we set it each call when it can be set exactly once?

> When you say a new command must be added to enable toggling compression, do you mean a new command in bootstrap, or a new command in the appium api?

I'm saying via the settings api, the bootstrap should have a method that sets the discard.