CB-7199 control git/npm using platform.js

www will default to git
if you want a platform to use git, just add source:git to its platforms.js section
CB-7199 control git/npm using platform.js
CB-7203 isRelativePath needs to pass path through
small refactor for missing code block after conditional statement
CB-7140 Check plugin versions in local search path

`cordova plugin add id@versionspec`
`cordova plugin add org.apache.cordova.file@>=1.2.0`

Plugins from local search path with the given id but with a version that does
not satisfy versionspec will be ignored. If several satisfying plugins are
found, the one with the highest version will be used.
Added Configurable Directories feature support
Replaced hard-coded 'platforms', 'plugins', 'hooks', 'merges' directories to ones read from .cordova/config.json
Added initial version of Configurable Directories tests
Configurable directories refactoring:

* Merged old config class with configurable directories interface into new ProjectMeta class
* Updated usage
* Fixed tests