Add mobile 'source' getPageSourceXML

Example Ruby use:

mobile :source, type: :json
mobile :source, type: :xml

Fix #349
Merge pull request #350 from bootstraponline/source_xml

Add mobile 'source' getPageSourceXML
don't set type of real device, and add instruments launch logging
enable setting device orientation in desired caps
allow overloading of this selenium desired cap
add --orientation cli param
Updated Java Appium examples and documentation
don't allow processing of native commands if remote commands in progress
mute some of this log spew
allow .only() for safari's describe()
allow alert handling to happen even in midst of remote command
better failure behavior
clear out safariness in between sessions
don't try to stop remote unless it exists
new error message reporting structure
make default timeout 1 hour to handle long web-only tests
no need to reset timeout if prelaunched
playing with timeouts again
change max size of log file
Refactored to cache objs vs ids only.