Import the OpenSSL libcrypto tests in a form suitable for our rergress
infrastructure.
The following tests have not been imported, for their code lacks a licence:
asn1, rsa, sha256, sha512, wp.
adapt to the less old des api
move enginetest to regress as was done with the other tests
Invoke OPENSSL_add_all_algorithms_noconf() to enforce OPENSSL_cpuid_setup()
has been called, for, depending how libcrypto, it might be a hidden symbol.
Reported by jsg@
crypto/modes/gcm128.c can be used as its own selftest. Add it to regress,
conveniently leaving the benchmark code not compiled in the test.
ECDSA signature computation involves a random number. Remove the test trying to
force what RAND_bytes() will return and comparing it against known values -
I can't let you do this, Dave.
When compiling with AES_WRAP_TEST, make main() return a meaningful value
instead of garbage, and add this to the libcrypto regress. Note these tests
are incomplete, as they always use the default IV.
Add ChaCha to libcrypto, based on djb's public domain implementation.

ok deraadt@
Provide an EVP implementation for ChaCha.

ok miod@
KNF.
Simple sha{224,256,384,512} test using the FIPS 180-2 test vectors available
from http://csrc.nist.gov/groups/ST/toolkit/examples.html
Initial version of a base64 regress.
Update the base64 regress test and enable a test that would previously
have resulted in a segfault. Also update the resulting output bytes now
that the invalid/corrupt input is detected and rejected; unless you're
using BIO_FLAGS_BASE64_NO_NL, in which case you still get a stream of
zero value bytes and no way of knowing that the data is invalid/corrupt.
Add a fixed (read: non-SIGSEGV'ing) pq_test.
Make sure the stdout output is check, to confirm proper sorting.
Move the `pqueue' part of libcrypto, which is a glorified sorted linked list
of 64-bit data, and only used by DTLS, to libssl where it belongs.

Remove pqueue_print() which is a debugging interface and serves no useful
purpose, except for the regress test, which grows its own pqueue_print()
routine.

Bump libcrypto major and libssl minor.

WARNING: do not update your tree right now, more changes are coming, which
will ride the libcrypto major bump.
Remove AES_bi_ige_encrypt() from libcrypto. This routine is supposed to use
two keys and four IVs to do much magic, is specified as such with test vectors,
but the implementation actually always uses the first key, and the test vectors
were computed with it, so they are wrong.

Fixing the code to match the intended specification would break
interoperability with existing code (assuming such code would exist), so it is
better to remove this interface, which is obviously too complex for mere
mortals if even its author can not implement it correctly.

Riding on the libcrypto major bump.
Add poly1305 to libcrypto utilising Andrew Moon's public domain
implementation.

ok miod@
Add a regress test for AEAD, based on Adam Langley's code.
KNF.