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/ChangeLog b/ChangeLog
index 5afc2a1..1257e61 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -7,8 +7,8 @@
      disabled by default and can be enabled with POLARSSL_SSL_DEBUG_ALL
 
 Security
-   * Removed timing differences during SSL message decryption in
-     ssl_decrypt_buf() due to badly formatted padding
+   * Removed further timing differences during SSL message decryption in
+     ssl_decrypt_buf()
 
 = Version 1.1.5 released on 2013-01-16
 Bugfix