Added pullFile support for iOS simulator.

`mobile: pullFile {:path => '/Some/Path'}` fetches a file relative to
the root of the device's filesystem.

`mobile: pullFile {:path => '/Applications/Some.app'}` fetches a file
relative to the root of that Application's .app directory, adding in the
GUID.

Fixes #2010, #1807
Merge pull request #2227 from DylanLacey/get_docs

Added pullFile support for iOS simulator.
update ios pullFile to account for the fact that the sim root might not have the exact version in it
@DylanLacey have a look at this, it's a gotcha of working with sim paths. My iOS SDK version might be '7.0', but the directory might be '7.0.3', or '7.0.3-64', so I changed this to use the directory finder from settings.js, and to throw a warning if there are multiple dirs. Unfortunately this change makes the unit tests rather impractical since it really depends on getting the status of the filesystem, so I added a new functional test and removed the unit tests.
Also verified tests pass now on 6.1, 7.0, and 7.1 with these changes
Merge pull request #2253 from jlipps/master

update ios pullFile to account for the fact that the sim root might not ...
fix async bug
make sure we check available devices when --default-device is used as well
update testsuite to use 1.0-style caps
- and fix various issues with specific tests
Merge pull request #2255 from jlipps/master

misc fixes
allowing app paths relative to appium root
test fix
avoiding crashes
Merge pull request #2260 from sebv/relative-apppath

Relative apppath
finish off routing for #2226
make sure binaries found using which/where get added to adb.inaries (fix #2237)
Merge pull request #2262 from jlipps/master

make sure binaries found using which/where get added to adb.binaries
ensure we can use appium 1.0 style launch information from the command line (fix #2231)
Merge pull request #2263 from jlipps/master

ensure we can use appium 1.0 style launch information from the command line
update uiauto to take advantage of new hideKeyboard strategy (fix #1153)
Merge pull request #2266 from jlipps/master

update uiauto to take advantage of new hideKeyboard strategy (fix #1153)
add avdLaunchTimeout/avdReadyTimeout (fix #2247)
and retry launching emulator once if it doesn't connect (fix #1820)