Add ability to call error pages or redirects from controllers or routes

Views and other page data are now returned as result objects.