First Sample Bot

Issues with packets are keeping this bot in the branch.
This is the major bug fix for this PR. Packets from the server are sent to us in a massive stream of data which we have to decode. If we ever get a packet that is too big for our buffer, we just read it into `/dev/null` (sort of). However, previously we would read full packet_thresholds of data at a time until we'd gone over the packet size. **This is very bad** because we end up reading into another packet on accident.

The fix reads data until it is one packet_threshold away from the packet_size. Then it reads the remaining data. This should correctly handle all large packets from now on.