SubFind HDF support

- [x] create a SubFindHDFSnap class that extends GadgetHDFSnap and reads in the particle data -- this is mostly completed in 5f8710c but needs to be tested
- [x] create a SubFindHDFHaloCatalogue class that reads the FOF and subhalo group data and creates/returns the appropriate halos
- [x] add support for loading subhalos of fof groups, e.g. ``h[0].sub[0]`` (done in in 13bd72a)
- [x] loading for large data sets, where not all particle types might be present in all hdfs
- [ ] fix unit tracking so that it doesn't require a full data load
- [ ] documentation/tutorial 

test data here: https://t.co/MjfJdcmlLP
SubFind description here: https://t.co/znFJu7F9Xz
fixed