More mypy fixes
... because apparently I can't help myself. (And I find the mypy type checking super useful...)
Builds on !31 (merged), !32 (merged), and !33 (merged), so I'd recommend dealing with those first.
@egallimore - These changes also include come questions/comments identifying possibly dead code; if it's not there as an intentional building block for immediate development, I'd be happy to push another commit removing it.
Copyright assigned to Woods Hole Oceanographic Institution.