Feature/autheticated encrption aes/ccm mode 5

This implements CCM/AES mode for authenticated encryption.

SJSC support two modes CCM and OBC. OBC is faster, but have some
patents restrictions in certain countries, so I choose CCM. Default mode
can be changed in config.js.

CCM will encrypt and mac each package using a SHARED netKey, that is appended in the
secret that the copayers pass around using a side channel. netKey is a 8byte string.  Then it is used
by each peer in a Password-Based Key-Derivation Function (PBKDF2-HMAC-SHA256). Iterations number is configurable in config.js, defaults to 1000. 

Secret is not a base58check string, with the peer pubkey (m/100/0/0 = copayerId) and the netKey.

More info on CCM/AES:
http://spark-university.s3.amazonaws.com/stanford-crypto/slides/07.4-authenc-annotated.pdf

On PBKDF2:
http://en.wikipedia.org/wiki/PBKDF2ll

This is a rebase of: https://github.com/bitpay/copay/pull/224 , and also introduces the concept of netKey and base58check for secret.