Sort function prototypes and group/sort entries within the functions array.

ok beck@
Sort and group includes. We also do not need to include openssl/evp.h more
than once.

ok beck@
Nuke OPENSSL_NO_SOCK since any half sane operating system has sockets.

ok beck@
remove crazy #undefs; ok jsing
Add ChaCha as a cipher.

ok beck@ miod@
The assembly sha512 code detects at runtime if it is running on a 64-bit
processor (PA2.0) and, if so, switches to 64-bit code.

However, when running under a 32-bit OpenBSD/hppa kernel, there is no guarantee
that the upper part of the registers will be preserved accross context switches
(or even userland->kernel boundaries), which causes this code to fail.

Wrap the generated code within #ifndef __OpenBSD__ in that case, to avoid
using the 64-bit code completely. (OpenBSD/hppa64, once stable, will not be
affected by this)
More use of 64-bit registers which needs to be disabled under OpenBSD.