Add --captureExceptions flag to jasmine

Without this flag exceptions such as bad syntax of missing modules caused all
the tests to abort but the exit status was still 0. CI tools interpret this as
successful test.
Look at the old uri in config.json in addition to the new url (i vs. l).

For backwards compatibility. In case someone has scripts tat pass extra JSON
config to cordova create.
Remove npm-shrinkwrap.json

After some discussion, looks like the lib doesn't need a shrinkwrap. The one
in end-user tools (CLI, plugman, etc.) should take care of freezing the deps
for the tools to work.

In CLI, the shrinkwrap file be created temporarily for release and
then removed again, updating the coho docs with this:
http://github.com/apache/cordova-coho/blob/master/docs/tools-release-process.md
CB-6776: Fix uri/url renaming bug

Another backward compatibility issue with tools that provide custom
url for platform files as part of extra config passed to create.
CB-7087 Retire blackberry10/ directory
Fix typo in comment.
CB-7091: Don't call check_requirements during platform add

check_reqs is called from the platform build script, there is no use in calling it
twice.

Instead, added a simple check that if a platform has a list of compatible host
OSs (defined in platforms.js), the host OS is checked against this list.
CB-7083 Missing SDKReference support on Windows Phone
CB-6874 Consolidate <Content> tag additions into 1 ItemGroup
CB-7091: Remove check_requirements() funcs from platform parsers

No longer used, removing. They were either:
1) Empty
2) Duplicating the chqck_reqs call that is also done by platform create scripts
3) In Ubuntu duplicated the code from check_reqs
CB-7100: Use npm based lazy-load by default

Older git based download is still available under a --usegit flag e.g:
`cordova platform add ios --usegit`
`cordova prepare ios`

The cached files are stored in different locations depending on where they
were downloaded from because we don't want dirs that are not npm packages in
an npm managed cache dir.
~/.cordova/lib
~/.cordova/lib/npm_cache

If a copy downloaded via git already exists in the cache, lazy_load should
not attempt to download another copy from npm.
Merge branch 'CB-6874' of https://github.com/MSOpenTech/cordova-lib
Merge branch 'CB-7083' of https://github.com/MSOpenTech/cordova-lib
CB-6512: platform add <path> was using wrong www/cordova.js

cordova prepare nukes the www dir under platform on each prepare, so it was
using www/cordova.js from the cached platfrom files to restore it. For this to
work, prepare was starting with a lazy_load(platform) to make sure it has the
platform files cached.

For the case of platform add <path> this was downloading a stock version of
platform files instead of using the ones in <path>.

Some time ago see CB-5063 cordova started keeping a copy of cordova.js under
/platfroms/<platfrom>/platfrom_www/ but the cached files were still needed for
older projects that didn't yet have platform_www.

This commit removes the lazy_load before prepare and counts on platform_www to
exist. It also adds platform_www during `platform add`.
CB-7078: Disable serve.spec.js

Flaky, needs fixing, disabling for now.
Minor style fixes in fetch.js

Experimenting with jscs
CB-7140: Switch to using PluginInfo in plugman/fetch.js

In preparation to adding version logic for searchpath.
build configurations for Travis
build configuration for AppVeyor
CB-7124 Wrap the cordova platform string in Platform object

This prevents having to duplicate the check whether the platform string
specifies a version or not.

github: close #61