Add new error code for invalid keys
Massive Android/Java Update

General overhaul of the Android code. A couple bugs have been identified
and fixed; notably the keyboard was disappearing during password entry
of numbers. Also the display of algorithms has been changed so that it
fills more of the screen, so it's easier to use/see.

There's also been a bit of a code tidy up, just because.