Add SSL Support, `gets`, `print`, and blocking reads

In an effort to support `Net::IMAP` I added the following features:

* SSL Support
* Blocking Reads (see note below)
* New methods: `gets`, `print`


*Note about blocking*: Technically, `gets` should always block, but I decided to add it as a config option that is off by default because it only matters in multithreaded programs and I didn't want to cause peoples tests suites to start hanging.