Python 3 compatibility, update to current KeePass.

Hi, I've fixed some issues while trying to get this to work at all and on Python 3 as well. The 'at all' is related to Salsa20, which I couldn't find in a released version of pycrypto. Therefore I replaced that with a dependency on python-salsa20, which in contrast to the former library is released. The Python 3 part relates to many different things, see below. Test cases run through on Python 2 and 3 and I've run loading/saving on a moderate size real database as well, which had the same XML output after saving to a new file and same header/hash. However the files differ after compression and encryption, so the difference there is something I still want to investigate to get closer to the original output.

If the Salsa20 dependency is somehow (I don't see how?) unnecessary I'd remove it again, but it seems to me this way would be the easiest.

My next step (and original goal) would be merging of files, so I'll be looking into the original sources to be compatible to the handling there.

Cheers,
Olof