Add Length unit & update code

This commit follows the same strategy as the Time unit
and contains hand-written versions (copy-n-paste style)
of the various Time implementations. Any bugs that exist
in them will also exist here.

Code changes are also in place for supporting physicalSize
fields based on `Length`, but several FIXMEs are in place
for changes that need to take place one the Bio-Formats
submodule has been bumped.
not great, no.