Cache file info access in viewengine

Move compilation and VirtualPathViewFactory to be singletons
And cache access to files.

The cache time is controlled by MVC options.
The cache is implemented in the ExpiringFileInfoCache.cs
IUrlHelper and IViewComponentHelper need to be activated

* Removing Init method and using [Activate] to activate IUrlHelper.
* Moving IViewComponentHelper to default injected properties
* Adding functional tests to verify these properties are injected \
  activated

Fixes #789
Fix for issue #610 - Ignore internal and nested types

This change exludes internal and nested types from being treated as
controllers. This is consistent with MVC5's behavior.

DefaultActionSelectionConventions was primarily tested through running
action selection. I wanted to also test the methods with substantial logic
in this class, so I moved a spate of a classes from private classes inside of the
integration tests to public classes so they could be shared. I also added
tests to fill gaps in DefaultActionSelectionConventions, which is the vast
vast majority of this change.
Reacting to System.Security.Cryptograph.Encryption package rename
[Issue #730] Attribute Routing: Flesh out attributes

Added properties for order, name, constraints, default values and data tokens
to IRouteTemplateProvider and implementations on all the Http*Attributes.
Name and order are settable in those implementations, constraints, default values
and data tokens have a default virtual implementation that returns null.
This change also unseals the Http*Attributes so that they can be extended and
customized.

Added unit tests to validate the implementations for the IActionHttpMethodProvider
and IRouteTemplateProvider in the framework.

Added functional tests to cover extra attribute routing scenarios like a test for an
action with an HttpDeleteAttribute on it and action with AcceptVerbsAttribute and an
action with a custom HttpMergeAttribute implemented.
Addressed feedback.
Incorporated the route information in the ReflectedActionModel.
Moved RouteTemplate from ActionDescriptor to RouteInfo.
Updated references to RouteTemplate to RouteInfo.Template.