Add an option to repo->redirect() to modify the HTTP status code

Allows the user to override the HTTP Status Code used when issuing a redirect.

Default uses 302; modification allows:

* 301 -- permanent, may GET the alternate location (even if the request was a POST)
* 302 -- temporary, may GET the alternate location
* 303 -- a related resource, _not_ an alternate location of the requested resource
* 307 -- temporary, _must_ GET the alternate location (even if the request was a POST)
* 308 -- permanent, _must_ GET the alternate location (experimental/draft)