Rewrote the java layer to make it easier to extend and add new commands.

The main idea is that the AndroidCommandExecutor calls the execute
method on classes that know how to implement that specific action.
Each "handler" will have methods to determine if it's for an element,
or the device.
Updated Java code to make it easier to extend, and improved memory usage

Now uses a hash to store the command classes and doesn't have to create
a new instance each time a command comes in.
Also, the AndroidCommandExecutor is created only once.
There is now a map of available actions, to handlers.

Conflicts:
	uiautomator/bootstrap/src/io/appium/android/bootstrap/AndroidCommandHolder.java
Large refactoring of the Java code in bootstrap.

Broke off each of the action commands into there own handlers.
AndroidCommandSelector has been rewritten and integrated into Find, and
other places.

Added java doc to all classes, and formatting changes based on
bootstraponline's settings.

Conflicts:
	uiautomator/bootstrap/src/io/appium/android/bootstrap/AndroidCommandSelector.java
Fix formatting

Enable on/off tags
Fixed missing enum in WDStatus, and removed AndroidCommandHolder.java and AndroidCommandSelector.java
Merge pull request #381 from bootstraponline/java_bootstrap_rewrite

Java bootstrap rewrite