Change plugin_loader.js into a regular module that is called from bootstrap

Instead of being hardcoded into packager.js.
[all] [CB-4022] Defer running of <runs> modules until after all scripts are loaded.
[All][CB-4016] plugin loading uses script injection to load cordova_plugins.js
[All] patch, in case console.warn is not defined
[WP] remove plugins
Fix a failure case in pluginloader where an onerror callback was not being set.

Probably is never triggered... Might as well though.
[All] remove mistaken windows only debug message
[all] Fix pluginloader never finishing (broken by recent commit)
[all] [CB-3639] Remove console from core.
catch exception for missing or invalid file path
[CB-4187] Fix start-up stalling when no plugins are installed.
[CB-4004] Fix Android JS bridge break caused by bad rebase before 5ba835c
Fix grunt tests by deleting plugin-related and legacy BB tests
[CB-4187] Fix the fix for start-up when no plugins are installed.
[CB-4281] Moving echo to a plugin in mobilespec
jshint cleanup (sorry im ocd)
[Windows8] remove all plugins
[CB-4420] Add a helper function for resolving relative URLs.

Note that the tests required a newer version of jsdom.
Change Gruntfile to auto-build before running tests
Make base64 tests work in browser as well as Node