Support use of non-ascii passwords.

[Closes #4001]
Merge remote-tracking branch 'ivan/bug/4001_support-non-ascii-passwords' into develop
use chardet as fallback
Merge remote-tracking branch 'kali/feature/use-chardet-as-fallback' into develop
Add shared db locking.

  * Improve bootstrap sequence:
    - stages are more organized.
    - there are less useless requests to server.
  * Improve shared db access:
    - instantiate the shared db only once.
    - also results in less requests to server.
  * Handle unicode passphrases.
  * Move some common functions and global variables to common.
  * Improve security of recovery document:
    - access to the recovery document now depends on the user password.
  * Improve documentation.
Merge remote-tracking branch 'drebs-github/feature/4097_allow-for-locking-creation-of-secrets-in-server' into develop
Passphrase is already an unicode object.

As we enforce to have the passphrase as an unicode object, we no longer
need this conversion.

[Related to bug #4330]
Merge remote-tracking branch 'ivan-github/bug/4330_soledad-bootstrapping-problem' into develop
add freeze_debianver command
Merge remote-tracking branch 'kali/add-freeze-debianver' into develop
Fix dict representation so it works on python 2.6.
Merge remote-tracking branch 'drebs/bug/fix-dict-representation-for-python-2.6' into develop
change error severity
Merge remote-tracking branch 'kali/fix-path-error' into develop
Fold in changes
Merge branch 'release-0.4.2'