fix mocking.URL to not panic(nil)

This change makes the panic look like the following:

    panic: (tigertonic.NotFoundHandler) (0x4a6f20,0x64f400) [recovered]

As a side note, panic(nil) causes the test to pass! This isfixed in go1.3,
https://code.google.com/p/go/issues/detail?id=6546
Merge pull request #57 from rcrowley/mocking-panic-nil

fix mocking.URL to not panic(nil)
Better error messages for the mocking.URL panics
fix var name typo in writeJSONError, save silly <nil> log

this particular method actually takes an error variable as an argument,
making it easy to confuse the input "err" variable with what is normally
used as a local variable name that captures errors from method calls.
Precisely this happened - a different variable name had to be used to
capture the error from the call to json.Encoder.Encode, but the
conditional still checked if "err" was nil; of course, it wasn't, since
the whole point of this method is to process an error condition, but the
log call still used the "jsonErr" variable. As a result, every call to
writeJSONError resulted in a "<nil>" log line - in most cases, Encode
does not produce an actual error.
Support http.Flusher interface

closes #58
Panic in case of DuplicateMetric errors

DuplicateMetric errors are returned by metrics.Registry.Register as of
d177436.  As in Marshaled and other http.Handler builders, here we panic
if we're not able to construct the handler as requested.

Fixes #60.
Merge remote-tracking branch 'abh/master'
Go doc for Flush.
Add support for Cache-Control in similar way to DropWizard.
Allow overriding the cache headers from the underlying function.
Merge branch 'master' of github.com:rcrowley/go-tigertonic
Strip the port from the supplied host before looking up in the hostname map.
Merge remote-tracking branch 'bigkevmcd/hostmux-with-port'

This is exactly bigkevmcd's patch but I reordered the code in the files
and made the names of the tests clearer.
Params from wildcards trump params from query string

If a URL has {foo} in it and the request also contains ?foo=bar, make
the value that matched the wildcard take precedence over what was passed
in the query string.

Simply switching the order in which the internal URL is constructed is
actually sufficient, but the fact that you can have multiple instances
of the same value still leaves me nervous. If you put something as a
wildcard in the URL, you are expecting one instance of it. Anything on
top of that is killed with fire.
Merge pull request #66 from rcrowley/fixparamcollision

Params from wildcards trump params from query string
Merge branch 'implement-cache-control'
Allow registration of configuration extension types.
export ConfigExt and change the registration function to be RegisterConfigExt.
add links to Gophercon Videos and Talks
Example use of a metrics.Registry's JSON output