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 ;)
Right now the way it works is just the toggling of compression during a session, I didn't know about setting a cap for the entire duration of the session. I'll add that.

I don't want to hold the state in bootstrap, so I'm holding the state in the `settings` object of the appium server. Every time the server communicates with bootstrap, it sends along the current value.

There's no harm in bootstrap switching it's `discard views` setting on each call is there?

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?