Add initial session support

This works, but still needs tests.
Add session usage example
Initial support for parsing common/alt names

This appears to follow both the specification and browser behaviour, but this
should be double-checked before merge.
Use stream_context_get_options() for 5.2 support
Use a more descriptive SSL failure error
Test expired and revoked SSL certificates
Document certificate verification method params
Add SNI, SAN and invalid domain tests
Mark SSL tests as skipped if we don't have support
First pass at cookie support

Still needs tests.
Trim all cookie keys and values
Ensure casting a cookie to a string uses the value
Implement the array-like interfaces for Cookie_Jar
Always attach a cookie jar to a request
Use the correct jar property
Use an existing key if we have one

This allows passing in [ 'a' => 'b' ] rather than just [ 'a=b' ]
Store cookies in a flat array

I was a little overzealous here; cookies can only have a single value.
Persist cookies between requests

Adds a new 'requests.before_redirect_check' hook to allow for this.
Use instanceof instead of is_a

is_a was deprecated from 5.0-5.3, plus it takes parameters in the opposite order
to what the code previously had.
Properly parse non-associative cookie attributes

Output too.