Refactor interface tests and add more tests
Refactor interface tests and add more tests

- Remove repetitive test dir creation in individual test functions.
  Use setUp function instead
- Remove redundant test dir creation in setUpClass function.
- Remove repetitive key generation and key import code used to test
  one or the other "unit".
  Instead aggregate key generation and loading testing in a single
  test function per key type (rsa, ed25519, ecdsa).
- Use context manager for assertRaises to increase readability
- Use test tables (for loops) for more extensive testing of
  different combinations of args and kwargs.

Additional testing includes:
- interactive password prompts tests (rendering coverage exemption
  pragmas obsolete).
- import regression tests for ed25519 and ecdsa keys, using
  pre-generated keys instead of on-the-fly generated keys.
- stronger assertions, e.g. actually check the key length to
  test the custom bits parameter for RSA key creation, or look at
  error message contents
- more error testing, e.g. by trying to load invalid keys, or keys

Additionally, identifies and adds tests + FIXME comments for
unexpected behavior of the interface:
- import_ed25519_publickey_from_file can import private keys
- import_ed25519_privatekey_from_file can import public keys
- import_ecdsa_publickey_from_file can import ed25519 public keys

secure-systems-lab/securesystemslib,secure-systems-lab/securesystemslib