Uses code from Celluloid::IO PR#87

celluloid/celluloid-io#87
Merge pull request #104 from digitalextremist/patch-1

Uses code from Celluloid::IO PR#87
Raise SocketError on all possible Socket Errors
Raise SocketError on all possible Socket Errors
Merge pull request #105 from Asmod4n/patch-3

Raise SocketError on all possible Socket Errors
Reel::ResponseWriter cleanups
Friendlier inspect for request bodies
Remove response writing thunks into Reel::Request

The Request object should keep track of its associated response, not the
connection. This should make pipelining cleaner.

We should still factor the connection state machine into its own class.
Added a new benchmark using a Connection Pool

On a Core2 Quad Q9550 (Six years old) running Debian 7 inside VMware on Windows Server 2008 i got 12k requests/s with rubinius-head

```
$ wrk http://localhost:3000
Running 10s test @ http://localhost:3000
  2 threads and 10 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency   811.95us    4.07ms  38.15ms   98.48%
    Req/Sec    12.04k     2.82k   14.89k    89.94%
  112474 requests in 10.01s, 7.94MB read
  Socket errors: connect 0, read 0, write 0, timeout 28
Requests/sec:  11234.99
Transfer/sec:    811.91KB
```
Merge pull request #106 from Asmod4n/patch-1

Added a new benchmark using a Connection Pool
+x server_sent_events.rb
Full URL for hello world example
Connection spy

This implements a way to spy on requests being made to Reel, complete with nifty
color-coded highlighting.
SSLServer support for Reel::Spy
Factor request/response classes into appropriate folders
Fix indentation
Don't autostart Celluloid
Nix newline :|
Convert Reel::Request::StateMachine into a Celluloid::FSM
Catching up.