Added middleware for digest authentication
Rework of the WWW_AUTHENTICATE header parsing

The previous method was failing in a lot of corner cases. This one is
able to withstand what I've thrown to it so far.
Example files for http digest auth

With both server and clients. I used WebRick for the server because it
comes standard with Ruby, and supports HTTP digest auth.
Basic specs for http digest auth
Fixed formatting

Added new lines at the end of files where needed.
Use EM::HttpEncoding instead of CGI
Don't force symbolization of the options keys
Refactoring of the parsing regexp to avoid additional string manipulation.
Fix cookie on redirects to same domain URLs with path compoment empty
Don't break on invalid urls
Adding gzipped file fixture that triggers issue igrigorik/em-http-request#204
manually extract the stream from gzip files to fix #204
HttpRequest doesn't mutate the URI if it's an Addressable::URI

If you pass an Addressable::URI into a HttpRequest, it mutates the
instance by setting the port on it. This is unexpected to the caller,
why would the port on the URI be set just by requesting it?

This change clones the uri that's passed in before mutating it.
Memoize HttpResponseHeader#status
Add http status code class methods to HttpResponseHeader
Use status code to follow redirect
Merge pull request #220 from ianejames/redirect_by_status

Redirect by status
Improved handling of User-Agent: Should be able to omit.
Merge pull request #228 from mikaelwikman/master

Remove User-Agent if empty or Nil
Updated Faraday Link