Make cowboy_http.erl compile with +native

Worked until 27da092
Update websocket handler callback specs

There are some additional terminate reasons exist which are not mentioned
in the specs.
Make cowboy_websocket.erl compile with +native

Worked until cccc0bc
cowbot_req:has_body:/1 improved
Merge branch 'native_compile' of git://github.com/acammack/cowboy
Merge branch 'fix/websocket_callback_specs' of git://github.com/keynslug/cowboy
Merge branch 'has_body_improved' of git://github.com/0xAX/cowboy
Properly pass the handler's state to websocket_terminate/3 on close
Make sure socket is passive once we've done with loop handler

It is sometimes important to make a socket passive as it was initially
and as it is expected to be by cowboy_protocol, right after we've done
with loop handling.
Improve pastebin example

Reject more malicious paths.
Add a web server example

Explore re-routing in middleware.
Add EventSource example

Port from extend/cowboy_examples.
Merge branch 'pastebin_example' of git://github.com/acammack/cowboy
Merge branch 'web_server_example' of git://github.com/acammack/cowboy
Merge branch 'eventsource_example' of git://github.com/acammack/cowboy
Merge branch 'fix/loop_socket_passive' of git://github.com/keynslug/cowboy
Add sub protocol behaviour
Fix {suspend, ...} specs to use atom() for function name
Merge branch 'sub_protocol-behaviour' of git://github.com/fishcakez/cowboy
Merge branch 'fix-handler-spec' of git://github.com/fishcakez/cowboy