add method to get dimension in Vector
implement things as filters
clean up printing
merge all the ID-like classes into ID
clang-format
autopep8
no need to filter when writing
add layer of indirection for cloning
simplify types

add Vector types to interface and hide NodeID/Index based types
restructure HDF5 traits

to make fixing strings i/o more tracktable. Plus the code is so much cleaner now
fix writing of strings data sets