Improved handling of key derivation algorithms.

Key derivation algorithms other than PBKDF2 weren't directly supported,
and throw an exception now rather than quietly using PBKDF2, instead.
Also reformatted code according to my Eclipse settings, which isn't
always how I want it to behave, but Eclipse likes to be a jerk about
that kind of thing… :(

Fixed build.xml to not reference my home directory as an absolute path.