Use debugfunction as a callback for setting raw request data.

More details here:
http://curl.haxx.se/libcurl/c/curl_easy_setopt.html#CURLOPTDEBUGFUNCTION
Verbose must be set to true to use custom debugfunction.
Get specs passing to account for verbose always being true.
Add specs for request_headers.
Use correct argument types for debugfunction callback.
Use an enum for curl_debug_callback info types.

Defined here:
https://github.com/bagder/curl/blob/master/include/curl/curl.h#L378
Save all debug information instead of just request data.

Suggested by i0rek here:
https://github.com/typhoeus/ethon/pull/64#issuecomment-21644328
Don't force verbose to be true.

The specs segfault when setting a custom debugfunction
and running MRI ruby using curl 7.29.0 and below. Probably
better to allow users the option to save the debug info
rather than having it always on.
Update specs for debug info.
Merge pull request #64 from linrock/raw-request-headers

Save all debug information - including raw request data
Remove #request_header from easy. Please acces through debug_info.
Remove newline and fix test.
remove request header again
Introduce the mirror.

This is not a good name. :(
But better than a hash. A Mirror serves as a container for easy
informations. Since the easy will be resetted and reused one cannot rely
on it to provide correct informations. Please get the mirror instead.
Print debug infos unless it is data.
Bump version
strang spec..
use double instead of mock.