major refactor of cast hierarchy

in short, there is no hierarchy anymore. Casts are all of a single type, and
methods with work provided that all required fields are in place. The serialized
representation changes slightly. CTDCast, XBTCast, and LADCP have become
convenience function that just create a generic Cast.

added a placeholder for a units submodule.
fix tests
update docstrings and make minor code simplifications
bump version