IO: In bundle, use getExtension, not property
IO: use ArrayObject for dataHandlers

Since the extension for the IO bundle will already be loaded when the extending bundle
is loaded, an array wouldn't be modified. The object will follow along by reference.

Also cleaned up the IOConfigurationPassTest so that it only tests what the pass does.
Factories testing will be in another test.
IO: Added ConfigurationFactory test (+abstract)
IO: test cleanup
IO: Removed unused use
Fixed typo in license headers