Adding the ability to attach a non-modifying listener to a packet

This permits users who have a const reference to an AutoPacket to monitor for the introduction of another decoration without running the risk of accidentally attaching unintended decorations to that packet.