With this change all data given and returned from all of the objects is in the form of an av_packet.
av_packet currently supports owned and foregin buffers.
Additionally, all of these objects now have settable packet factorys.
An on demand packet factory and a preallocated packet factory are part of this checkin as well.