Fix 1284, revert 966.
Actions must have default values specified for their parameters, even if the parameter is optional in the route.
This makes attribute routing consistent with MapHttpRoute().

This removes's HttpDirectRoute's overloaded members. So remove HttpDirectRoute completely. It was just regular HttpRoutes with extra values in the DataTokens. So use a builder method instead of a constructor.