Removed further timing differences during SSL message decryption in ssl_decrypt_buf()

New padding checking is unbiased on correct or incorrect padding and
has no branch prediction timing differences.

The additional MAC checks further straighten out the timing differences.
(cherry picked from commit e47b34bdc8507b63758402f69e7623d11dfb6984)

Conflicts:
	ChangeLog
	library/ssl_tls.c
diff --git a/include/polarssl/sha2.h b/include/polarssl/sha2.h
index 811b0fd..da3970c 100644
--- a/include/polarssl/sha2.h
+++ b/include/polarssl/sha2.h
@@ -153,6 +153,9 @@
  */
 int sha2_self_test( int verbose );
 
+/* Internal use */
+void sha2_process( sha2_context *ctx, const unsigned char data[64] );
+
 #ifdef __cplusplus
 }
 #endif