Use null as plugin name for plugins with no <name>

Apparently some plugins don't have a <name> tag. Check for this and use
set the name to null for them in PluginInfo.
CB-6586: removed dev from version for npm publish
ran npm-shrinkwrap
moved osenv module to dev from devdependencies
had to update version to republish on npm
updated npm shrinkwrap
CB-2606 add launcher icon support for FirefoxOS
CB-6415 [BlackBerry10] fix check_reqs for custom paths
CB-6674 handle missing plugins in dependencies
[CB-6675][amazon-fireos]Adding amazon-fireos platform fails with an error in amazon_fireos_parser.js
Fixed the error.
Merge branch 'cb_6674' of https://github.com/jsoref/cordova-lib
Merge branch 'master' of https://github.com/AxelNennker/cordova-lib
update version for republish
update version for republish
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.