update appium-instruments
add real xpath support making use of getElementByIndexPath
this depends on https://github.com/appium/appium-uiauto/pull/11
also depends on https://github.com/michaelkourlas/node-js2xmlparser/pull/10
partially addresses issue 2155
add tests for new '-real xpath' temporary loc strat
and test for new real xml page source
add deprecation warnings for old page source and xpath methods
update uiauto submodule
reimplemented queue with async.js
use our own fork of node-js2xmlparser
making isDisplayed helper run in parallel
use indexpath find retry even when trying to find a single element that becomes stale
rewrote screenshot logic
fixed test script
Merge pull request #2204 from jlipps/real-xpath

Real XML-based XPath for iOS
add test for existing xml source behavior
update android xml source to have class names as node names rather than just 'node'
deprecate use of json page source
add real xpath support for android
- relies on xpath support for ios pull request
- adds support under the '-real xpath' locator strategy
- deprecates the original xpath strategy, which will be replaced in 1.0
- because we have no way to get a dom fragment starting from an element,
  this strategy will only work for root-level queries
Merge pull request #2209 from sebv/async-queue

Ios command queue using Async.queue
Allow changing of ports with an environment variable
Fix omitted var keyword
Modify scroll to take element argument.

Originally, scroll scrolls insider the first ScrollView. However, most of our ScrollViews is CollectionView, or TableView. So, we got error that the ScrollView could not found, although there are multiple "ScrollViews".

We also need to able to scroll insider different scrollviews.