Simplify logging for impossible case. Thanks Eleriseth, IMHO we need the NodeInitException.
We need sign multiple data sources, rather than fragment of data (Toad: fixed a test)

Provide ECDSA.sign(data...) and ECDSA.verify(signature, data...);
Remove ECDSA.sign(data, offset, len) and ECDSA.verify(signature, data,
offset, len).
ECDSA: use standard names for KeyFactory and KeyPairGenerator

This would allow us use SunPKCS11-NSS, unfortunately SunPKCS11-NSS is
partially broken in java6, so just hardcode BouncyCastle for now (will
be improved later).
Very similar to ECDH commit.
ECDH: remove defaultAlgorithm nonsense (Toad: This is going in because the previous code, while slightly better encapsulated, was BROKEN and would fail with some JCA implementations; nextgens please feel free to refactor it properly, e.g. by moving the KDF to freenet/crypt/)

There are no algorithms named "AES128", "AES192", "AES256".
Correct algorithm name is only "AES" (variant selected by key length).
We only got away with this because it happened to never checked in
JCE/JCA implementation we use, and we never tried to pass SecretKey to
real cipher (only take out raw bytes).
And key length was never checked too (especially badly for P521, where
key length mismatch any AES variant).
So, remove algorithm name and SecretKey, just pass raw byte[].