explicitly mark class methods as public
method refactoring.  no functional changes

- extract method for getting local types so that plugins can call it
- combine redirect_local() and redirect_request()
switch to using filters instead of actions

This is a breaking change to the Hum extension API!

All actions named `hum_request*` have been removed, and replaced with
filters named `hum_redirect*`.  These are filters on the final URL to
redirect to, and are passed the same additional parameters that were
passed to the old actions.

Using filters allows for functions to augment (or replace entirely) the
redirect URL set by other functions for by hum itself.  For example,
this allows a function to add Google Analytics codes to redirects for
local content (fixes #3).