feat(nickel): Support for sharing data between requests per route basis
Merge pull request #119 from SimonPersson/shared_route_data_v2

feat(nickel): Support for sharing data between requests per route
feat(nickel): Added a println of IP:Port when the server starts listening for requests.
Merge pull request #124 from infinitus/master

feat(nickel): Added a println of IP:Port when the server starts listening for requests.
fix(SendStr): MaybeOwned is depreciated in favor of Cow pointers
fix(RequestUri): adjust for upstream namespacing changes
fix(mimes): adjust for enum namespacing changes
Merge pull request #125 from Ryman/maybeowned_removed

fix(rustup): enum namespacing changed, MaybeOwned removed
refactor(middleware): remove RequestHandler

Blanket impls for Middleware cover the same usage scenarios.
feat(middleware): lazy querystring and json parsers

[breaking-change]

To use these lazy plugins a &mut Request is required. Handlers
which only have access to &Request will need to update their
signature.

Nickel::json_body_parser and Nickel::query_string are also removed.
Import the relevant trait to get the required functionality.
refactor(QueryString): query(..) now returns a Cow smart pointer

[breaking-change]

This reduces the allocations per call if there exists a value.

This is breaking because for some code you will need to deref the
Cow to deal with it, or if you want to use the Vec in mutable way
 then you will need to call either into_owned() or to_mut().
chore(imports): remove unused imports
refactor(query_string): simplify query_string::parse
fix(doctest): compile doctest for listen but dont run it
refactor(default_error): simplify default_error_handler
refactor(errorhandler): generic return type for blanket impl
Merge pull request #121 from Ryman/middleware_reform

Lazy middleware examples
fix(url): parse_str(s) is now parse(s.as_bytes())
fix(Copy): Copy is now opt-in
chore(Cargo): move information into Cargo.toml