Don't use instanceof in a parse(IQ|PacketExtension)

Instead of using instanceof *every time* we parse an IQ or
PacketExtension, we now check the type of the Provider only once when
adding it.
Enabling additional and returned extensions in getItems()