Fix create.spec - don't expect merges dir

The merges dir was removed from the default app. Remove it from the list of
dirs the create spec expects to exist.
Start using PluginInfo object in plugman/install.js
CB-6711: Use parseProjectFile when working with XCode projects.

Otherwise the changes get overwritten by the cached version of the project file.
This is due to double caching between ConfigKeeper and parseProjectFile.
Add a unit test to guard against similar bugs in the future.

github: close #15
CB-5421 fix windows8 test

The following error message doesn't show any longer when running
npm test
ls: no such file or directory: /some/path/platforms/windows8/www

github: close #8
CB-6772 Provide a default for AndroidLaunchMode
CB-6767 Allow `cordova` to be replaceable

Allow to specify the name of the binary for phrasing error and warning messages
with the proper binary name.

github: close #20
Extend PluginInfo to parse more of plugin.xml
Use PluginInfo in plugman/install.js

This changes plugman/install.js to use PluginInfo instead of direct xml parsing
for plugin.xml. There is still some xml parsing left because those xml elements
are passed down to ActionStack.
CB-6815 Add license to CONTRIBUTING.md
CB-6823 Improve test for is source path ancestor when using copy-from or link-to
Add npm cache based downloading to lazy_load

lazy_load was downloading platforms files from github using a url like this
git-wip-us.apache.org/repos/asf?p=cordova-ios.git;a=snapshot;h=3.5.0;sf=tgz

This change adds the possibility to donwload platform file from npm registry
E.g. cordova-ios is published here https://www.npmjs.org/package/cordova-ios

By default the old way is still used, to use npm add --usenpm flag to cordova
cli or opts.usenpm=true in opts parameter of the cordova.raw.platform()
function.
CB-6854 Strip BOM when adding cordova.define() to js-modules
CB-6698: Support library references for Android via the framework tag
Extract AndroidProject class into a separate .js file
Remove trailing spaces in all js files

So that everyone can use auto removal of trailing spaces without generating
unwanted diff lines. Only white space changes, nothing else.
This also adds newlines at the end of files that didn't have them.

Files used in testing fixtures are not affected.

The command used:
sed -i '' 's/[[:space:]]*$//g' **/*.js
CB-6859 Removed all wp7 references, tests still passing
Refer properties-parser package from NPM.
Use properties-parser dep from npm registry, not github

Using github URLs as dependencies in package.json doesn't work for people who
don't have git installed on their machine.

github: close #24
Merge branch 'bektchiev/refer-properties-parser-from-npm' of https://github.com/Icenium/cordova-lib
CB-6024: Accept cli vars as part of opts param

This is part of the nopt refacoring in cordova-cli. The old spaghetti logic
for extracting options and variables from the arguments is kept, but should
probably be removed soon.