Support IncidentNeutron.from_hdf5() for files without 'redundant'
Created by: paulromano
After we added a 'redundant' attribute to reactions in our new HDF5 files, trying to load older ones that don't have it using
IncidentNeutron.from_hdf5(...) currently fails (thanks to @bforget for reporting). This PR fixes it so that you can still load older files. I've also addressed some deprecation warnings that were being spit out by the test suite:
- Making sure abstract base classes are imported from
collections(will break in Python 3.8)