Remove internal bn dependancies from speed.c

Reviewed-by: Tim Hudson <tjh@openssl.org>
Prepare for bn opaquify. Implement internal helper functions.

Reviewed-by: Tim Hudson <tjh@openssl.org>
Prepare exptest for bn opaquify

Reviewed-by: Tim Hudson <tjh@openssl.org>
Implement internally opaque bn access from asn1

Reviewed-by: Tim Hudson <tjh@openssl.org>
Implement internally opaque bn access from dh

Reviewed-by: Tim Hudson <tjh@openssl.org>
Implement internally opaque bn access from dsa

Reviewed-by: Tim Hudson <tjh@openssl.org>
Implement internally opaque bn access from ec

Reviewed-by: Tim Hudson <tjh@openssl.org>
Implement internally opaque bn access from evp

Reviewed-by: Tim Hudson <tjh@openssl.org>
Implement internally opaque bn access from rsa

Reviewed-by: Tim Hudson <tjh@openssl.org>
Implement internally opaque bn access from srp

Reviewed-by: Tim Hudson <tjh@openssl.org>
Implement internally opaque bn access from ts

Reviewed-by: Tim Hudson <tjh@openssl.org>
Disable engines that will fail to build when bn is made opaque

Reviewed-by: Tim Hudson <tjh@openssl.org>
Update apps for bn opaque change

Reviewed-by: Tim Hudson <tjh@openssl.org>
Make bn opaque

Reviewed-by: Tim Hudson <tjh@openssl.org>
Update documentation following BN opaquify

Reviewed-by: Tim Hudson <tjh@openssl.org>
Move bn internal functions into bn_int.h and bn_lcl.h

Reviewed-by: Tim Hudson <tjh@openssl.org>