Fixed MPI assembly for ARM when -O2 is used

GCC with -O2 or higher also needs to now about 'cc' in the clobber list.
(cherry picked from commit eff2e6d4146b72637fbec2ea6b8b800b3f3d9980)

Conflicts:
	ChangeLog
Ability to specify allowed ciphersuites based on the protocol version.

The ciphersuites parameter in the ssl_session structure changed from
'int *' to 'int **' and is now malloced in ssl_init() and freed in
ssl_free().

The new function ssl_set_ciphersuite_for_version() sets specific entries
inside this array. ssl_set_ciphersuite() sets all entries to the same
value.
Made change to error.c for dummy error_strerror() permanent
(cherry picked from commit a0234377fc2c32b239b2b4bbf13bd617bc7932cf)
Minor checks to prevent NULL-pointer exceptions
(cherry picked from commit c295b834a2554b3f7eb792f1bc6d445e206fa55d)
Blowfish has default of 128-bit keysize in cipher layer
(cherry picked from commit bfe671f2d5b69c60baf3742bb4e0a31172bd8792)
Split up largest test suite data files into smaller chunks
(cherry picked from commit 286bf3c501674c89c31ce19638d32cbf6a82e9bf)

Conflicts:
	tests/Makefile
Cleanup of the GCM code

Removed unused variable 'v'

orig_len and orig_add_len are now uint64_t to support larger than 2^29
data sizes
(cherry picked from commit 0ecdb23eed0cfa3d9d9709fb92c002a520847776)

Conflicts:
	library/gcm.c
Added default value comment for ssl_set_ciphersuites*()
Prepared for PolarSSL 1.2.7 release
Merging changes from polarssl 1.2.7
Removing a few instructions out of hardclock() on 603+ since we only need the lower 32 bits of the tick register