[Issue #730] Attribute Routing: Flesh out attributes - Part 1.

1. Added a new AttributeRouteInfo class to store all the information for
actions that are attribute routed.

2. Refactored ActionDescriptor, ReflectedControllerModel and ReflectedActionModel
to use AttributeRouteInfo instead of just the attribute route template.

3. Added a CombineAttributeRouteInfo method in AttributeRouteTemplate that handles
combining two AttributeRouteInfo instances.

4. Refactored ReflectedActionDescriptorProvider to use AttributeRouteInfo instead
of the attribute route template.

5. Added unit tests for ReflectedActionModel and  ReflectedControllerModel that
cover the usage of AttributeRouteInfo.

6. Added unit tests for CombineAttributeRouteInfo.
readability level 3/10, just break it out