Added self tests
completed self-tests by adding digest and MAC tests.
Added option to run all available self tests per category in a single run.
Added self tests on RSA, DSA, and ECDSA key usage.
Added gnutls_privkey_generate().
in gnutls_x509_privkey_generate() allow specifying an explicit curve.
Added pair-wise consistency tests for RSA, DSA and ECDSA.
Self checks are conditionally included in the library.
doc update
indented code
Added support for fips states.

This implies that when in FIPS mode and the library is not in operational
state (i.e., all self checks succeeded), crypto functionality of the library will fail.
This includes:
	* API functions of gnutls/crypto.h
	* API functions of gnutls/abstract.h
	* API functions of gnutls/x509.h
	* gnutls_init()
	* API functions of gnutls/xssl.h
Added binary integrity test
Updated FIPS140 initialization and added a self test for it.
Simplified _gnutls_mpi_release()
Added key zeroization primitives.
doc update
Added zeroization of keys in several parts within gnutls.
zeroize ECC secret scalars and points.
overwrite temp buffers of private keys.
better naming for free_datum functions.