WIP: Feature/identity


This implements the 'Identity' concept to Copay:

1. One identity (email(or handle)  / password) and multiple wallets
1. Each identity has a Profile, with user's related data.
1. Wallets are NOT derived using the same seed, are independent (we can add same seed wallet in the future easily, but still we need ot support independent wallets)

Wallet test we heavily modified to use sinon. Also compatibility test test moved to test.Wallet

WalletFactory is no longer used.  Identity takes part of it responsabilited.

This is still WIP. Mocha test are passing (more than 30 test were added), but it is NOT  INTEGRATED TO THE UX yet (karma unit test are failing). 
Same here, we need to stop sending config parameter all around. Thats what objects are for, to encapsulate state and config. We are also walking a dangerous path between transporting config options through constructors and accessing a [global config variable](https://github.com/bitpay/copay/blob/master/js/services/pluginManager.js#L4) 

We should be passing instances, clases and/or factories on the constructors, and only the relevant config for THAT object.