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
stub out sauce pass/fail reporting for node tests
Merge pull request #381 from bootstraponline/java_bootstrap_rewrite

Java bootstrap rewrite
bump submodule version
add iphone dev code sign identity to test app
delete ApiDemos from repository so we can put in a submodule
add ApiDemos back as a submodule
get apidemos from github, link to right place (fixes #388)
make apidemos submodule use http instead of ssh
Merge pull request #389 from jlipps/master

get ApiDemos code out of appium
Merge branch 'master' of https://github.com/appium/appium