BIP39 implementation

BIP39: https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki

The PECL intl extension is required to normalize UTF-8 passwords to UTF-8 NFKD to match the specs in the BIP (and pass the tests).  
I've added a check atm that as long as the password isn't UTF-8 (checked with `mb_detect_encoding`) it won't require it ...

Implementation based on:
 - https://github.com/trezor/python-mnemonic
 - https://github.com/weilu/bip39
 - https://github.com/bitpay/bitcore/blob/master/lib/BIP39.js

special thanks to @weilu (https://github.com/weilu/bip39), I used his tests as the base :)