Make mypy pass in strict mode
- Add lots of inline type hints and return types.
- Remove tests/context and import maintain_kubeusers modules directly.
- Fix tests using pathlib.Path for homes which should be strings, the code can be converted to pathlib only in a later commit.
- Add missing dependencies to mypy tox environment.
- Remove types-cryptography, which is outdated as the package now ships native type stubs.
- Add some asserts/error throws to make the type checker happy in certain situations where something is not none but it can't be typed that way for various reasons.
- Remove redundant mypy configuration options where the default has since changed.
Change-Id: Iccf755d25ba68beb150219991d3640f945f43398