Android mobile push & pull

Ruby examples:

mobile :pushFile, data: Base64.encode64('test ruby'), path: '/data/local/tmp/test.txt'

pull_result = mobile :pullFile, path: '/data/local/tmp/test.txt'
Base64.decode64 pull_result
make sure we can do forceiPad and safari
heads up @DylanLacey, this will likely cause a conflict with your work
change safari webview xpath so it works on 7.1 ipad as well
Select Simulator Device & SDK

* use deviceName + version caps to launch a particular simulator device and SDK version (6.1, 7.0.3, 7.1)
* update appium-instruments submodule with corresponding change
* fail if the user tries to set preferences or language/locale and full-reset is requested since they don't work together

Fix #2032, #1642, #304
Fix reset & setPreferences interop

*  restore reset to it's previous state for mobile/hybrid apps and preserve new approach for safari so it's app plist can be set
Fix reset & setLocServicesPrefs interop

* same approach as with Safari prefs
Add Location & Contacts Alerts

* reqest access to location and contacts in our sample app
Correct Reset

* sent an outdated pull last time
Ensure apks are run through zipalign
Fix for Instruments Before 7.1SDK

* don't pass the device string to instruments if we're less than 7.1 SDK
* clean up some logging
adding build to ci
trying dev build