Upgraded solution to use MVC 4 and Razor 2 throughout.
Added MvcSiteMapProvider.Core and MvcSiteMapProvider.Web libraries for building a new prototype.
Added reference to structuremap and the two new prototype libraries to the MvcMusicStore demo.
Migrated logic and flattened the SiteMapProvider with the StaticSiteMapProvider and MvcSiteMapProvider. Added DI to load dependencies. Modified .gitignore file to ignore common visual studio artifacts.
Reimplemented SiteMapNode so it can be created with required data but still be injected with services. Created builder model for generating node trees.
Removed unused implementations of SiteMapNode.
Removed url resolver and visibility provider injection from XmlSiteMapBuilder and ReflectionSiteMapBuilder because they are not refereced.
Added provider strategy implementations for SiteMapNodeUrlResolver and SiteMapNodeVisibilityProvider.
Added SiteMapLoader to manage creation and caching of sitemaps. Added SiteMaps class with static members as a starting point.  Migrated the Web namespace and converted to use SiteMaps and the SiteMap datatypes.
Made adjustments to cache, SiteMap, and SiteMapNode so they will be compatible with the UI components.
Made adjustments to cache, SiteMap, and SiteMapNode so they will be compatible with the UI components.
Modified UI and web.config to use new sitemap model.
Updated cloning procedure in dynamic node builder to get the URL resolving to function properly. Fixed provider fully qualified name matching so it is backward compatible.
Fixed bug with dynamicNodeProvider and visibility showing up on the URL. Changed scope of all members of XmlSiteMapBuilder from private to protected virtual.
Removed recursive BuildSiteMap calls as this is now the responsibility of the SiteMapLoader class.
Renamed file for UnknownSiteMapException to match class name.
Made all custom exception classes serializable as some application frameworks may require this to be the case.
Fixed SiteMapLoader/SiteMaps entry point so the semantics of the cache key to SiteMapBuilderSet configuration can be easily overridden by the host application.
Added serializable attribute to AmbiguousControllerException.
Removed unnecessary SiteMapLoaderFactory implementation.