catacomb/__init__.py: Refactor the XDH and EdDSA classes.
* Introduce `_BasePub' and `_BasePriv' underneath the existing
classes, and move obvious common functionality like size checking
and printing into them. Push key-generation down here too.
* Use `KeySZ' objects for key length checking rather than just the
bare constants. In particular, this means that `Ed25519Priv' isn't
fussy about key sizes, preserving this feature of the underlying
implementation.
* Split the implementation of pretty-printing into more pieces. In
particular, now `_BasePriv' only needs to implement the printing of
the private key rather than the whole lot. (Plain `__repr__' is
still duplicated, but the code is smaller and this is more
tolerable.)
* Rename `_Boxy...' to `_XDH...', since this appears to be the generic
term I'm using for such things now.