Add hooks in CordovaPlugin and PluginManager for whitelist plugins

This adds three hooks to CordovaPlugin objects. In each case, a null
value can be returned to indicate "I don't care". This null value is
the default.

    public Boolean shouldAllowRequest(String url)
    public Boolean shouldAllowNavigation(String url)
    public Boolean shouldOpenExternalUrl(String url)
Defer whitelist decisions to plugins

There is a default policy, which is implemented in the case where no plugins override any of the whitelist methods:
 * Error URLs must start with file://
 * Navigation is allowed to file:// and data: URLs which do not contain "app_webview"
 * External URLs do not launch intents
 * XHRs are allowed to file:// and data: URLs which do not contain "app_webview"
Use /app_webview/ rather than app_webview to filter bad requests
Refactor ConfigXmlParser to allow subclasses
Remove unused Config methods (Breaking Change)
Remove whitelists from WebView classes
Remove whitelist config.xml parsing