Cleaning up homework 3

3_5 refactored to have one-to-one correspondence between inputs and outputs. 3_6 re-implemented without boost::asio.