[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.
Wierd to see the same class on the the reflected model and AD. This needs to capture the sematics of the attribute -for instance order is an `int?` on the reflected model, but is an `int` on the AD.

Let's talk tomorrow