Add @since tags to all public APIs
Extend the HTTP client example with HTTPS capabilities
Use a state variable in IoReactor

Instead of @running and @stopped.
Make the IO reactor restartable

There’s a lot of issues with making the reactor restartable:

* The error listeners need to be kept on and report errors after a restart.
* The error listeners need to report the error that caused the reactor to crash before it is restarted, but not after (the current implementation guarantees that error listeners can be registered after the error has occurred, that might not have been the best implementation, but it needs to be supported for the foreseeable future).
* The future returned by #start and #stop need to be correct at all times
* When #start is called while the reactor is stopping it needs to wait before the reactor has stopped and then start again
* When #connect, #bind, #schedule_timer and #cancel_timer are called before the reactor has started, or after it has stopped these calls should be registered and acted on as soon as the reactor has started.
Ensure that JRuby doesn’t deadlock in the reactor restart tests
Add more JRuby deadlock fixes for the tests