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 ;)
This is perfectly fine--no need to change--just want to mention this is a good place for a ternary expression.

Any idea how the compiler handles ternaries?  Curious if 
```java
bool x = containsKey("xpathCompression") ? DEFAULT : (bool)get("xpathCompression")
```
avoids double assignment of x.