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). 
preconditions can be chained, e.g.
```
preconditions.checkArgument(wallet)
    .checkArgument(wallet.getId)
    .checkArgument(X)
    .checkArgument(Y);