Major fixes to KDF and steganography

With the advent of a proper test suite many bugs were found and
squashed both in the way KDF and steghide were used.

Key validation func is_valid_key() now attempts recovery for keys
that have broken headers or are naked text (back-compat to old exhume).

KDF and steg now work correctly.
Brand new test suite

this test suite can be called by 'make test' and checks basic functions
plus KDF, STEGHIDE and RESIZE. It works creating files in /tmp/*tomb*