Fix a typo that prevented protocol options upgrades
Apply a trick to the erlang:hibernate calls to suppress dialyzer warnings

Initially recommended by Magnus Klaar, the trick is to add a catch
instruction before the erlang:hibernate/3 call so that Dialyzer
thinks it will return, followed by the expected return value
('ok' for HTTP, 'closed' for websockets).

This should be good enough until a real solution is found.
Added absoluteURI support

If requests go through a proxy, they will have the original uri in the
request, i.e. : GET http://proxy.server.uri/some/query/string  HTTP 1.1 ...

That was problematic -- cowboy_http_protocol:request didn't know what to
to with the result of decode_packet applied to this, which would be something
like:

``` erlang
{http_request,'GET',{absoluteURI,http,<<"proxy.server.uri">>,
	undefined,<<"/some/query/string">>},{1,1}}
```

So, I just ignore the host, grab the path and pass into

``` erlang
cowboy_http_protocol:request({http_request, Method, {abs_path, Path},
	Version}, State)
```

Seems to do the trick without much effort.
Add CA support and make SSL certificate password optional
Add 'Expect' header parsing

At the same time renaming cowboy_http:content_type_params/3 to
cowboy_http:params/2 (with a default Acc of []) as this code isn't
useful only for content types.
REST: Only send 201 when a new resource is created on POST
Add an examples/ directory containing a link to cowboy_examples
Merge branch 'ssl-password-cacert' of https://github.com/DeadZen/cowboy
Check for upgrades on accept timeout

Otherwise acceptors will not be upgraded properly until after the
next request comes in.

Thanks to DeadZen for pointing it out.
polished dialyzer warnings on supervisor init/1 specs
Add cowboy_http:x_www_form_urlencoded/2

This was initially an internal function, it has been made public
due to popular demand as it can sometimes be needed.
Add an empty ebin/ folder to fix a rebar/edoc issue

When missing rebar couldn't build docs because it expects the ebin/
folder to exist before it runs edoc. This commit allows users to
build docs without first having to run make.
Merge pull request #146 from ostinelli/f3de0869801d3909cc5a5d5dbee81941481a0c2e

Polish dialyzer warnings on supervisor init/1
Remove a completed @todo comment
Remove the redundant include/ from -include("http.hrl")
Add a roadmap
Tests and fixes for the generate_etag/2 callback

The return value from the generate_etag/2 callback is expected to be a
binary tagged with either weak or strong. This binary is quoted, and
may be prefixed with W/ before it is set as the value of the ETag header
in the response.

For backwards compatibility with older handlers where the return value
was expected to be a quoted binary a function has been added to parse any
return values that are untagged binaries. All untagged binaries are expected
to be a valid value for the ETag header.
Merge branch 'rest-etag-fixes' of https://github.com/klaar/cowboy
If we have a mapping to '*' then use it as the default catch all accept
Make media type parsing more relaxed

Certain user agents send slightly invalid media types, like the
following: "text/html, image/gif, image/jpeg, ; q=.2, */; q=.2"

The user agent with which this behavior was observed presented itself
with the User-Agent string: "Mozilla/5.0 (Macintosh; U; Intel Mac OS X
10.6; en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6 (FlipboardProxy/0.0.5;
+http://flipboard.com/browserproxy)"