CB-5106:[win8] fixed tests for windows 8
CB-5106:[wp7] fixed broken wp7 tests
CB-5106: removed flood of cp error messages when running tests
CB-4748: Fail quickly if dir passed to cordova create is not empty.

Some upstream tools (e.g. mca) need to pass extra configuration to
cordova create. In order to avoid pre-creating .cordova/config.json file
for this, an extra parameter is added to cordova.create(), it should be
an object with the same structure as config.json.

If id or name are given in the extra config, they will be used only if
the value given as the function parameter is falsy:
id = id || cfg.id || DEFAULT_ID
CB-5125: replace child process exec with spawn
CB-5125 add tests for chil process spawn
[CB-5147] emulate needs a space before error message
[CB-5142] improve grammar of emulate description
[CB-4976] Don't symlink into ~/.cordova/lib for local libs

If the user specifies a local URI in his config.json, we don't want to
symlink that lib into $HOME/.cordova/lib, just use it in-place as the
source of the platform.

lazy_load calls now return a promise for the path to the target, and all
logic in other modules that was recomputing the path into the global lib
directory has been fixed to just use that return value. This is more
flexible and supports this feature nicely.