Merge pull request #1832 from sebv/jshint-ui-auto

Jshinted uiauto, added check in grunt target
Handle non-String input to errorStreamHandler
Handle errors in spawn
Merge pull request #1810 from imurchie/isaac-spawn

Handle errors during spawn
Allow for accented characters in text fields
Merge pull request #1829 from imurchie/isaac-accents

Handle accented characters sent to text fields in iOS
make sure we don't send status objects back to appium#start (fix #1706)
Merge pull request #1836 from jlipps/master

make sure we don't send status objects back to appium#start (fix #1706)
Fix long click on Android

Android's uiautomator has a broken long click implementation.
uiautomator will not pause long enough on long click which causes Android to detect the long click as a normal click.

This fix uses reflection to access uiautomator's private touchDown/touchUp methods to reimplement longClick correctly.

In theory I should be able to obtain a reference to android.app.UiAutomation without using reflection. However this doesn't seem possible when using uiautomator. getInstrumentation().getUiAutomation(); doesn't work because we're not using instrumentation.
Merge pull request #1840 from bootstraponline/fix_long_click

Fix long click on Android
Fix iOS reset

iOS reset deletes the following:

/iPhone Simulator/7.0.3/Library/TCC
/iPhone Simulator/7.0.3/Library/Caches
/iPhone Simulator/7.0.3/Media
/iPhone Simulator/7.0.3/Library/Keychains
/iPhone Simulator/7.0.3/Applications

iOS full reset deletes the entire 'iPhone Simulator' folder.
Added two minor fixes related to safari launcher
Merge pull request #1844 from snevesbarros/master

fix for #1835
Merge pull request #1842 from bootstraponline/fix_ios_reset

Fix iOS reset
Add better error message on missing build-tools, include other versions.
Merge pull request #1847 from midopa/master

Add better error message on missing build-tools, include other versions.
reshuffling tests