Fix URL rebasing

Something changed.  The protocol of a parsed URL that has no protocol is
"null" instead of "undefined".  This change tolerates both cases.  This
may have changed because of Node v0.10 or because of a difference in
URL2.
Fix bundle completion messages

Previously, bundles were ending with "bundleLoaded(undefined)" because
the bundle file did not have a proper "relativeLocation" property.  This
change permits the bundle to communicate that it has been loaded to the
module run time.
Remove discover.js

This is no longer used.  Package discovery is now done entirely by
Montage Require.
Ignore WebGL scripts

The HTML transform checks for script types it does not recognize.  This
change silences warnings about known WebGL script types.
Consolidate URL <-> FS translators

Use Require.directoryPathToLocation, Require.filePathToLocation,
Require.locationToPath to translate between these the file system and
web name spaces.  These methods at the moment do the same as what was in
Mop inline, but they will need to evolve to do URL encoding and decoding
of file name parts in the future.
Clarify key domains of file hashes

The "files" properties of config and packages are indexed by fully
qualified URL and URL relative to package respectively.
Note to self: name space global method

The bundleLoaded() message, used by injected scripts to inform the
module system of completion, should be namespaced as
montageBundleLoaded() in a future, major upgrade.  Major because it
requires coordination between Mr, Montage, and Mop that is not backward
compatible.  See also montageBootstrap() and montageDefine().