Fixed packet lengths and Python 2.7 compatibility

Data packets, acknowledgment packets, routing update packets, and FIN
packets have a fixed length of 1024, 1024, 64, and 64 bytes,
respectively.

PacketTypes enum was rewritten as an internal class of the general
Packet class. This removes the reliance on Python 3.4, so we can now
commit to developing on Python 2.7.