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.
Merge branch 'master' of https://github.com/mutualmobile/appium
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
Removed empty comment