Split Subpacket types

Subpacket now inherited by Tag2Subpacket and Tag17Subpacket
Cleaned up shared pointers
Hopefully nothing broke