Improve URL compaction when using module name id mapping

* Modify dependencies builder to include modules with selected extensions (.css, .html) in the list of scanned module names returned by IDependencies.getDependencyNames().  Additional extensions names are obtained from config and registered module builders.
* Module name id map builder (in AbstractHttpTransport) no longer includes declared dependencies from javascript modules in the map (due to the possibility of alias name mapping).  The module name id map now contains only modules that were scanned by the dependency map builder.
* Remove Rhino dependencies from the config interfaces so that the interface is not tied to a specific JavaScript parser implementation
* Dynamically switch between 16-bit and 32-bit values for module name id encoding based on need (i.e. use 32-bit encoding when module id values in the request exceed 64K).