Removing magic link generation

There's a much simpler way to do this kind of thing (using constraints). See aspnet/Routing#78, See aspnet/Routing#79.

There are some issues getting this working with attribute routing, and rather than change this code further to know about attribute routing concepts, we should just remove it.

The main thing that this code supported was writing a route like:

`routes.MapRoute(
    "areaRoute",
    "Admin/{controller}/{action}",
    new { area = "Admin" });
`

This was possible in MVC5 because area support was hardcoded into the system. The proposal is to write this now like:

`routes.MapRoute(
    "areaRoute",
    "Admin/{controller}/{action}",
    new { area = "Admin" },
    new { area = new RequiredConstraint() });
`