Add Connection class
Add IO class
Add Connection#new method
Remove IRC class

The IRC class is to be replaced by the Connection and IO classes, which will separate the functionality into more easily managed bits.
Create new TCPServer before all tests & close after all tests

This fix allows for other specs to create their own TCPServers, whereas they would previously cause conflict attempting to create a new server on the same port.
Add IO#new method
Add IO#write method
Create TCPServer before each test & close after each test

Fixes issue where tests run in random order would run into conflicting servers again.
Add IO instance to Connection
Add IO#read method