CB-5183 WP7/8 lib path is not correctly resolved by CLI (additional changes)
fix conflict with removed head code
tests were failing attempting to match lib/dir and lib\\dir on windows
CB-5307: Remove references to Callback and Incubator
Remove accidental console.logs in the tests.
CB-5063: Keep cordova.js in platform_www to avoid copying it from lib.

Currently all platform parsers (src/metadata/*_parser.js) copy
cordova.js from util.libDirectory for each run of prepare. This results
in errors when changing machines since the ~/.cordova/lib directory is
not populated.

With this change all the parsers construct the project www dir by first
copying contents of a new dir named platform_www (which contains
cordova.js) and then the www dir from the app.

Until individual platform create scripts will be updated to create the
platform_www dir, prepare.js checks if the platform_www exists and if
not, creates it using cordova.js from ~/.cordova/lib.

Even after the platform create scripts are updated the check will be
required for projects that were created using older version and don't
yet have a platform_www dir.

CB-5063: Keep cordova.js in platform_www to avoid copying it from lib.

Currently all platform parsers (src/metadata/*_parser.js) copy
cordova.js from util.libDirectory for each run of prepare. This results
in errors when changing machines since the ~/.cordova/lib directory is
not populated.

With this change all the parsers construct the project www dir by first
copying contents of a new dir named platform_www (which contains
cordova.js) and then the www dir from the app.

Until individual platform create scripts will be updated to create the
platform_www dir, prepare.js checks if the platform_www exists and if
not, creates it using cordova.js from ~/.cordova/lib.

Even after the platform create scripts are updated the check will be
required for projects that were created using older version and don't
yet have a platform_www dir.
fix 3 failing tests for windows8 and wp8 and add assertions for wp7 too.
Adding instructions for installing on master.
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/cordova-cli
CB-5063: Revert to copying cordova.js before user www dir
CB-4400: cd to project root in most cordova commands.

cd to project root dir as the first thing for most cordova commands by
calling a new func util.cdProjectRoot().

This function throws and exception if process.cwd() is not in a Cordova
project. In terms of interaction with the Q promises this exception
behaves the same way as those thrown e.g. by fs.readFileSync().

This change does not entirely solve the problem of running prepare while
in platforms/.../www/ dir (that is deleted during prepare). The
operation will now succeed, but the user's shell will stay in a bad
state with detached inode as the CWD.

The patch file has two separate commits in it (looks like it's not
visible here on the "View Diff" pane but will affect "git am"). One for
the main part and the second for tests.

Same diff on Github:
https://github.com/kamrik/cordova-cli/compare/CB-4400_chdir_root
CB-5320 Document avoiding sudo
updated version for 3.2.0-0.0.0 rc testing
changed rc version based off semver
CB-5364 config_parser - handle duplicates with children and text when merging