Modify AssetDispatcher to handle two path prefixes: normal and compressed
URLs for compressed assets are now distinct from uncompressed assets

"/asset/" for normal assets, or "/asset.gz/" for compressed assets
Assets now know about the StreamableResource (necessary to get content type and content checksum)
Content checksum for compressed resources is now based on the compressed bytestream, not the uncompressed resource
Modules are now a special kind of asset
Did a better job of centralizing the logic for creating asset URLs

Tests are currently broken
Peformance may have been affected
Fix broken tests

Remove unwanted access to HttpServletRequest when using the PageTester
Adjust for change to default asset path prefix
Pass a null CompressionAnalyzer as it is not used
Correct unit tests broken by recent refactorings
Correct unit tests broken by recent refactorings
Correct unit tests broken by recent refactorings
Correct unit tests broken by recent refactorings