Add validations on publish intent route set.

This includes being able to construct a route set from a publish intent.
Register publish intent routes on save

This does not cover filtering out the content item's routes as part of
this process.
Add validations for content item rendering_app.

This wasn't being covered on the model, or in the RegisterableRouteSet
Add comment explaining why routes are before save
Refactor RegisterableRedirect to avoid duplication.

It shares all the validations of RegisterableRoute, so it makes sense
for it to inherit from it.