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

Removed empty comment

Removed commented code

Removed empty comments
Merge branch 'master' of https://github.com/mutualmobile/appium

Conflicts:
	uiautomator/bootstrap/src/io/appium/android/bootstrap/AndroidCommand.java