Moved PKCS#12 PBE functions to cipher / md layer where possible

The 3-key and 2-key Triple DES PBE functions have been replaced with a
single pkcs12_pbe() function that handles both situations (and more).

In addition this allows for some PASSWORD_MISMATCH checking
(cherry picked from commit 14a222cef2699bd3da884662f7e56e097a12b1a0)
diff --git a/include/polarssl/error.h b/include/polarssl/error.h
index 42d19a3..0c3fb80 100644
--- a/include/polarssl/error.h
+++ b/include/polarssl/error.h
@@ -76,7 +76,7 @@
  * High-level module nr (3 bits - 0x1...-0x8...)
  * Name     ID  Nr of Errors
  * PEM      1   9
- * PKCS#12  1   3 (Started from top)
+ * PKCS#12  1   4 (Started from top)
  * X509     2   23
  * DHM      3   6
  * PKCS5    3   4 (Started from top)