Add a type named "gradleReference" in framework

It's too complex to dependence AAR in plugin, it need build the plugin
to a android project which include AndroidManifest.xml. This patch
reference the *.gradle in plugin to build.gradle in root project. Below is
a demo.
plugin.xml:
<framework src="libs/xwalk_core_library/xwalk.gradle" custom="true" type="gradleReference"/>

xwalk.gradle:
repositories {
    maven {
        url 'https://download.01.org/crosswalk/releases/crosswalk/android/maven2'
    }
}
dependencies {
    compile 'org.xwalk:xwalk_core_library_beta:9.38.208.4'
}

The build.gradle will add blow section:
// PLUGIN GRADLE EXTENSIONS START
apply from: 'libs/xwalk_core_library/xwalk.gradle'
// PLUGIN GRADLE EXTENSIONS END
Merge branch 'gradle-reference-master'
Pass the searchpath when installing plugins

Passes the searchpath option to plugin add.

github: close #120
CB-8053: Including a project reference in a plugin fails on Windows platform.

When working with the Windows platform, the existing logic to add a project reference was expecting two things:

1. There would only be one solution file.
2. That solution file would only contain a single project.

This is no longer true - there are now two solution files (one for VS 2012 and one for VS 2013). The VS 2013 solution is for a universal project, and contains five projects.

The change here is to make the code (in cordova-lib/src/util/windows/jsproj.js) which modifies the solution file more versatile by:

1. Handling any number of solution files (iterate all solution files we find).
2. Handling any number of projects in the solution (add the build depedency to every jsproj in the solution).

Includes matching changes to removeProjectReference(), and fixes a call in cordova-lib/src/plugman/platforms/windows.js to pass the correct path for plugin_dir.
[CB-6472] Adding content to -Info.plist - Unexpected behaviour

Merge instead of replace when the destination and source nodes
are both of type dictionary. Adds underscore.js as a dependency.

GitHub: close #115
Minor style and comment fixes in serve.js
Added identifier checking for app id, searches for java+C# reserved words
Fix jshint anal issue with mixed single and double quotes
Fix failed test for changed error message
CB-8067 externalized valid-identifier it is it's own module
CB-8086 Prefixed subprojects with package name.

The last portion of the package name, to be precise.
CB-8086 Added an explanatory comment.
CB-8086 Fixed framework tests.

Installing and uninstalling frameworks now read AndroidManifest.xml to
get the package name; the readFileSync fakes are updated to reflect
this.
Added a missing "else" keyword.
CB-7736 Update npm dep to promote qs module to 1.0

Thanks to Andrey Kurdyumov for pull request.
GitHub: close #125
Amazon related changes.
Added a type named "gradleReference" in framework according to
https://git-wip-us.apache.org/repos/asf?p=cordova-lib.git;a=commit;h=02a96d757acc604610eb403cf11f79513ead4ac5
browserify: updated require to use symbollist
CB-8154 Fix errors adding platforms or plugins

- Added utility function to unpack a package.tgz file (gzip + tar)
- Use the new utility function when fetching plugins from the registry
- Use the new utility function when downloading platforms from the registry
- This compensates for the change in npm behaviour that no longer unpacks
  files that are added to the npm cached (change in 1.4.10)

GitHub: close #130
Fix appveyor.yml

Something changed in AppVeyor config parser, it no longer accepts.
nodejs_version: 0.10
And failes with the following error:
Error parsing appveyor.yml:
Invalid setting or section: nodejs_version (Line: 4, Column: 1)

According to documentation AppVeyors default version right now is 0.10 anyway.
Just removed this setting.
CB-8179 Point to the latest wp8 version