stubbed out UserAttribute(Packet)
 - refactored UserAttribute into the new object model
 - changed internal keys in SubPackets to tuples
 - stopped storing the {,un}hashed packet block lengths for SubPackets as it's trivial to compute those anyway, and doesn't need to be done often