Router improvements, fixes #74

Fixes for the bugs in #74, as well as:

* Allow callables for the query param in load_template. Makes it possible to pass closures to generate the query. Useful if you want to generate the query based on plugin data that's not available when the route is setup.

* Added $force_header parameter, that can be used to override the status header set by the wp object. When using the router to load an arbitrary template that does not use WP_Query, wp will set 404 otherwise.