Changed interfaces ISiteMap, ISiteMapNode, ISiteMapNodeVisibilityProvider, ISiteMapNodeVisibilityProviderStrategy, ISiteMapCacheKeyGenerator, and IAclModule so they no longer pass around HttpContext. Created a HttpContextFactory to be injected in constructors to take their place.
Removed commented code from SiteMap and SiteMapNode classes. Added the override keyword to SiteMapNode superclasses.
Renamed HttpContext2 and HttpRequest2 to MvcHttpContext and MvcHttpRequest and moved to the Web namespace. Deleted HttpContextMethodOverrider and HttpRequestMethodOverrider as they were not being used.