Use the connection package instead of writing our own version of it

Also let attoparsec directly pull data from the connection as needed.