Support Launching Non-Retina iPhone

* fix the bug in getDeviceString where we always assume 3.5" retina
Merge pull request #2248 from jlipps/master

raise an error if someone sends in a bad platformName (fix #2179)
Merge pull request #2249 from dandoveralba/non-retina

Support Launching Non-Retina iPhone
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