Fix Android page source
Android longClick x, y, and duration support

Ruby examples:

mobile :longClick, element: el.ref

mobile :longClick, element: el.ref, duration: 3000

mobile :longClick, x: 400, y: 297, duration: 3000

mobile :longClick, x: 0.5, y: 0.244
Merge pull request #1945 from bootstraponline/master

Android longClick x, y, and duration support
Merge pull request #1970 from bootstraponline/source_fix

Fix Android page source
Converted code to use npm appium-instruments package
package update
Merge pull request #1972 from sebv/instruments-npm

Converted code to use npm appium-instruments package
allow device to come in through some command-line args
this should fix the appium.app 'valid device' error
Extracted appium-uiauto package
iOS. Add --keep-keychains option and desired capability keepKeyChains
Fix Cannot call method 'getAllLogs' of undefined
Merge pull request #1982 from bootstraponline/master

Fix Cannot call method 'getAllLogs' of undefined
Increase maxBuffer for installApp command
Merge pull request #1983 from egoldblum/master

Increase maxBuffer for installApp command
Merge pull request #1973 from pavelsmolensky/keepKeyChains

Add option --keep-keychains to save Library/Keychains between appium session restarts
Merge pull request #1976 from sebv/uiauto-npm

Extracted appium-uiauto package
create Device class and abstract configuration logic into each type of device to clean up appium.js
rearchitect configuration methods
finish porting ios args
port android basic config