Add support for key files without passwords

Previously, python-keepassx only supports "composite" key files which also use a password.  However, KeepassX supports key files with no password at all.  This PR changes the behavior to treat "empty string" passwords as a password-less keyfile (so no password is used to contribute to the key hash), rather than a digestible password consisting of an empty string.

Includes tests, test db and keyfile.