Use "npm cache add" for downloading plugins

Plugins were downloaded using the request library. Changing the registry.js
code to use "npm cache add" as the main fetching mechanism. This results in
considerably less code to maintain.

Npm's default proxy settings are used automatically (unless overridden in
~/.plugman/config).

Platform fetching done by cordova/fetch should eventually use npm as well, but
this will require publishing the platforms as npm package tarballs.
Use "npm info" for fetching plugin metadata

npm info is an alias for npm view.

By default npm view won't call the registry if there is a recent .cache.json
file for this package.
Forcing npm to ignore the cache by setting cache timeouts to 0
via npm settings cache-min = cache-max = 0.
Remove --force from default npm settings for plugin registry

Changed to setting --force specifically for (un)publish where it's needed
and removed it from the default settings.

For publish --force is needed when overwriting an already published version.
Otherwise the registry will reply with a 409 HTTP response.

For unpublishing the registry only allows to unpublish specific versions,
if you want to remove the entire thing with all the published version
--force is needed.
added dev to version number
Add --noregstry flag for disabling plugin lookup in the registry
CB-6668: Use <description> for "plugin ls" when <name> is missing.

Plugin listing looks like the output below. The last column is now
plugin.name || plugin.description

$ cordova plugin ls
com.test.plugman 0.1.1 "plug_test"
org.apache.cordova.file 1.1.0 "File"
org.apache.cordova.statusbar 0.1.3 "StatusBar"
For platform downloads, support git cloning in addition to gitweb snapshots.

To use this, prefix the URL in platforms.js with a git protocol.
git:// is accepted as is, others go by the common convention of
having "git+" prefixed to the actual URL. So we end up with
git+ssh://, git+http[s]://, git+ftp[s]://, git+rsync:// and
git+file:// for git URLs that you want to clone.

(The common form git@host.xz:path/to/repo.git is also an SSH URL,
see git help clone for details.)
Merge clash protection; we expect this to be a CordovaError.
Revert "Merge clash protection; we expect this to be a CordovaError."

This reverts commit 7de70881d2a08c668393450dcfab3e67e0686303.