Fixing select formatters for non-Java languages. Fixes issue 6622
Safely rebuild chrome.Options from a partial JSON spec.

Fixes issue 6627
Checking for Error.captureStackTrace is sufficient to determine if an environment
supports stack traces. This avoids unnecessarily triggering debuggers configured
to halt when an error is thrown.

Fixes issue 6617
[java] Revamp the SafariDriver's internal networking

Fixes issue 5900
(I hope)
[SafariDriver] WebElement#getTagName() should return a lowercase string.
Update webdriverjs tests for Safari
Fix incorrect target name from revision 81c9fc096f8e
IJ made me do this.

Changes to the config files caused by opening the project in a recent IJ 12 release
with the Javascript and Python plugins enabled.
Bumping .buckversion

This brings us up to the latest push of the facebook buck version, which was
last updated on November 19, 2013.
Start building firefox with buck.

There are some differences in the way that buck and crazy fun build things,
so this is just a first pass. Notable things that are missing:

* The actual XPI.
* The path to the preferences files has changed.
* No C++ components.

Essentially, this is just the java code and the preferences file.
Bump .buckversion

The buck build now relies on the "selenium" branch from Simon's repo. Clone from:

https://github.com/shs96c/buck.git

And switch to the remote branch "selenium". This contains the additional features
that our buck build depends on.

At some point, the main buck repo will implement a plugin API. At that point,
we'll switch to the main buck tree.
Build firefox xpts using buck
Updating C# atoms generation to use lazy-loaded dictionary for properties
Add missing @Deprecated annotations to permit compiling with xlint 'dep-ann'
as an error.
If ChromeDriver fails to start, suppress any exceptions from the subsequent
"clean-up" quit() so the error from start is not lost.
Deflake AlertsTest; tests are stable over 100 runs.
Also adding some padding to the alerts test page to make it mobile friendly.
Add an alternate, and Android-friendly, implementation of the Augmenter that
uses JDK interface proxies instead of cglib. This new implementation is
available as org.openqa.remote.JdkAugmenter; the default Augmenter implementation
still relies on cglib.
- If an error is thrown while typing a key sequence, return that error to the
client. Prior to this change, the driver would effectively hang.

- Do not attempt to generate a key event if the target element is no longer
attached to the DOM. nsIPressShell (which is used to dispatch events) will
throw a generic NS_UNEXPECTED_ERROR if we fail to make this check.
Improve logging for UnixProcess#destroy()
Add a bunch of new tests around using a proxy with WebDriver.