feat(nickel) Logging with macros.

Prints a log for every request with its return status.
feat(favicon): add support for favicons

Implements a caching middleware for serving favicons.
chore(readme): correct travis badge link
chore(readme): rewrite contributing section
chore(readme): make sure names link against profile
fix(readme): simple parameter access in feature list
chore(routeresult): improve error message for bad param call
feat(routes): add implicit optional format param to routes

BREAKING CHANGE

This will break code that tries to handle routes such as:
'/foo/:bar.:baz'

You can now handle this with:
'/foo/:bar'

When this route matches '/foo/cats.gif' then request.param("format")
will be ".gif"

Fixed #90.
style(router): shorten extremely long lines
fix(routes): allow custom :format variable in route
fix(slicing_syntax): allow slicing_syntax. fixes #95
refactor(HttpRouter): generalise HttpRouter for the RequestHandler trait

BREAKING CHANGE

For code implementing HttpRouter, the signature of each method has changed,
adding a type parameter.
refactor(router): move router into module folder
refactor(router): extract HttpRouter to private module
refactor(router): extract RequestHandler to private module
refactor(router): extract Router/Route/RouteResult to private module
refactor(RequestHandler): add ResponseFinalizer trait and impls to generalize return types
docs(macros): update examples to show simplified return types
refactor(ResponseFinalizer): cleanup duplicate code with macros
refactor(ResponseFinalizer): allow response headers