CB-7512 Make key password optional & prompt for it when missing
CB-3445: Make minSdkVersion and base versionCode settable through env vars
CB-7512 Fix gradle asking for release password when building for debug
CB-7512 Make gradle build only a single config for sub-libraries (release vs debug)
CB-7512 Use a standard build.gradle for all plugins

Plugins can extend it by providing a "build-extras.gradle"
Added gradle distribution URL updating.

Conflicts:
	bin/templates/cordova/lib/build.js
	framework/build.gradle
gradle: Write sub-project list explicitly to make Android Studio happy
gradle: Have project's build.gradle look for a build-extras.gradle
gradle: Fix warning about dynamic properties being deprecated
gradle: Build only the active architecture when applicable
Added gradle distribution URL updating. (commit fix-up)
CB-7410 update the docs to match the actual title
CB-7634 Detect JAVA_HOME properly on Ubuntu
updated .gitignore to include npm-debug.log
CB-7674 move preference activation back into onCreate()

The preference creation actually needs to be before
super.onCreate(savedInstance) in order to avoid the exception
"requestFeature() must be called before adding content". Also ran into an
issue in the native tests "Whitelist" and "User WebView/Client/Chrome" where
it would throw an exception that the CordovaWebView appView already had
a parent and needed to be removed from that parent before the invocation
to root.addView(appView). So I conditionally remove the wrong parent.
Also made a change to the native tests so the menus test would work.
I also put super.init() back into the template, though invoking it is optional
as loadUrl will call it automatically if needed.

Conflicts:

	bin/templates/project/Activity.java
CB-7674: Added sleep to avoid null error after most recent change to not break API
CB-6837 Fix leaked window when hitting back button while alert being rendered

Keep track of the last AlertDialog showed.
The last dialog showed that is rendered while hitting back button it
causes a leaked window.
Instead of perform a full track of all dialogs created, only destroy the
last one showed, this fixes the problem.

close #122

Conflicts:

	framework/src/org/apache/cordova/CordovaChromeClient.java
Update .gitignore to ignore /framework/build and /node_modules
Fix --shared flag of create script (broke in recent gradle changes)