add LADCP subclass, and generalize Cast type
clean-up cast internals

scalar values are now stored in cast.properties, rather than in cast.data

updated fileio to new format; should be backwards compatible
preserve cast subtype in save files
add IO tests, which fail because of unimplemented hashing
add cast hashing