[SafariDriver] [Java] Support custom extensions for Safari / SafariOptions API

Solves https://code.google.com/p/selenium/issues/detail?id=4852

I've created a new class (`SafariOptions`) which allows one to add one or more custom extensions. To make it easier for developers to use it, the method name and signature is similar to `ChromeOptions`'s `addExtensions(File...)`.

This PR does not only bring extensions. It also separated the options from the SafariDriver. The old capabilities are still supported, but have been deprecated.

All new APIs are well-documented, so regenerating the javadocs after acceptance makes sense.

### Example of installing extension

```java
SafariOptions options = new SafariOptions();
options.addExtensions(new File("path/to/extension.safariextz"));

// Local
WebDriver driver = new SafariDriver(options);

// Remote
WebDriver driver = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), options.toCapabilities());
```


### Tests
Three tests have been added:

- Verify that not using the new capability does not change old behavior
- Verify that an extension is installed, if specified.
- Verify that an extension is removed when the browser quits.

I've also patched the implementation of the `DriverCommand.QUIT` method, by closing the Web Socket connection in Java instead of sending QUIT to the Safari extension (the Safari extension silently ignores the command).  
Before this fix, invoking `safariDriver.quit()` would always cause an IOException to be thrown: "An existing connection was forcibly closed by the remote host".

Another problem was that an existing test class did not inherit from SafariTestBase. This caused several tests to behave badly, which has also been fixed.

### Ideas for future improvements
My current objective was to automate the tests of a Safari extension. Others might actually want to preserve the existing set of installed extensions, instead of adding new ones. In order to achieve this, use a third-party library (such as https://code.google.com/p/plist/) to parse `Extensions.plist`, and add the WebDriver Safari extension by appending values to Extensions.plist instead of overwriting it.

### Signed SFC
I've signed the [SFC Individual Contributor License Agreement](https://spreadsheets.google.com/spreadsheet/viewform?hl=en_US&formkey=dFFjXzBzM1VwekFlOWFWMjFFRjJMRFE6MQ).