Move PacketProcessor to outer package
Update Packet constructors to take byte array

This constructor will be used by PacketProcessor to create packets from
an existing byte array. Another constructor will be created for each
packet if you're creating a packet from scratch and intend to send it.