Amazon Specific changes:
Added support for SdkVersion
CB-6481 (Fix cordova platform check)
Enable platform-specific id for android and ios

closes #105
CB-7820 Make cordova platfrom restore not stop if a platforms fails to restore

handles restoration for each platform separately so that if one fails installation for
others continues. Also makes a change on how the host is checked to allow such errors
not to completely halt the execution.

close #106
CB-7311 Fix xcode project manipulation on Windows host

When adding plugins on Windows, plugman will insert incorrect paths,
which also contain backslashes into the xcode project files. This breaks
builds of the iOS app in Xcode and requires manual editing of the
project file.

On all non-Windows platforms, where the path separator is already `/`,
the performed replace should be a noop, on Windows it fixes the paths in
the project file.

github: close #109
CB-7033 Improve cordova platform check

* Fix spelling of determined
CB-7033 Improve cordova platform check

* Make a softer statement about up-to-date status
CB-7033 Improve cordova platform check

* Report when cordova is out of date
CB-7839 android: Fix versionCode logic when version is less than 3 digits
Fix: scriptsFinder crashes if event based hook removes a plugin

getAllPluginsHookScriptFiles was using the list of plugins from opts.plugins
which becomes outdated if an events based hook removes a plugin. The function
was failing while trying to create PluginInfo('dir/of/deleted.plugin') with:

Error: Could not find plugin info in .../tstApp/plugins/org.apache.cordova.engine.crosswalk
Expose PluginInfo from cordova-lib

Usage example to get a list of installed plugins:
var plugins = cordova_lib.PluginInfo.loadPluginsDir('plugins');
var pluginIds = underscore.pluck(plugins, 'id');
Updated fireos parser.
Merge branch 'uplevel'
Some more amazon-fireos related changes.
CB-7884 moved platform metadata to platformsConfig.json
CB-7884 Fixed up incorrect JSON
Fix `cordova platform add` not using searchpath from config.json

This was causing a problem when a platform was added and one of the already
installed plugins had a dependency specific to this new platform (this is
rather rare).

One example is org.chromium.socket depends on org.chromium.iossocketscommon
only for iOS but not for Android.

To reproduce using mobile-chrome-apps:

    cca create TstApp --link-to=spec --android
    cd TstApp
    cca prepare
    cca platform add ios
Updated dependencies

Went over the output of `npm outdated`

 - Trying to update elementtree and semver broke the tests, kept as is.
 - Didn't touch npm and npmconf.
 - Some background about newer versions of npm and semver here:
   http://blog.npmjs.org/post/98131109725/npm-2-0-0
CB-7890 validate file copy operations in plugman

Signed-off-by: Shazron Abdullah <shazron@apache.org>
CB-7909 - Remove CDV prefixes from the templates, and filenames - for "plugman platform add"