Removed AclModuleNotSupportedException because it is not thrown anywhere and serves no purpose now that we are using DI to inject the ACL modules. Simplified the logic in the CompositeAclModule.
Added AuthorizationContext creation to the MvcContextFactory.
Added exception for nodes that are configured with the same key in both PreservedRouteParameters and RouteValues, which is checked when the node is added to the SiteMap.
Refactored RequestCacheableDictionary into CacheableDictionary and inherited IRequestCache from ICache so the cache implementation can be swapped with other types of caches, such as a session cache.