SSL accept support

Adds an #accept method to SSLSocket, upgrading the already-accepted TCP
socket to an SSL connection. This is the same API as OpenSSL::SSL::SSLSocket

Also adds a convenience Celluloid::IO::SSLServer class, with the same
API as the OpenSSL::SSL::SSLServer class, which wraps a TCPServer and
automatically upgrades accepted sockets to SSL before returning them.
Merge pull request #40 from codekitchen/master

add ssl accept support
Bump version to 0.13.0.pre
Update echo server examples to new syntax
Code climate badge
UNIXSocket support is in, update README to reflect
Merge pull request #42 from kyledrake/patch-1

UNIXSocket support is in, update README to reflect
Buffering support

This commit contains a bunch of copypasta from Ruby's own
OpenSSL::Buffering module, with a few tweaks to make things work
properly with Celluloid::IO

These methods reimplement most of the core IO methods of Ruby,
especially the ones that rely on an internal buffer such as the
line-oriented methods.

No tests for most of these yet, sorry :( But the existing tests are
still passing, yay!
Note support for additional methods
Build is erroring on rbx
Add Ruby 2.0.0 to .travis.yml
Gem version badge
Not working on Ruby 2.0 :(
Workaround for SSL connection refused errors in specs
Fix benchmarks
Celluloid::IO::Stream base class

This factors all methods shared by stream sockets into a single base
class that all other stream sockets inherit from.
Update RubyGems source entry
Factor ownership control into Latch class
Reimplement Latch with Celluloid::Condition

This reimplements the Latch class used by Celluloid::IO::Stream to
perform atomic writes even when a given Stream is being shared among
multiple Celluloid tasks.

The new implementation uses Conditions instead of the (now deprecated)
signal mechanism. This should improve performance.

In addition, conditions are only used when there is actual contention on
a given Stream, which should improve performance.
Note new Latch system for inter-task coordination