New blockchain

Goals of this PR:

- have only one required method for each "blockchain service provider": `search_raw_transaction()`. This make the integration of another services very easy.
- make counterpartyd multisig usable with `jmcorgan`'s fork OR `insight`+`bitcoind`
- have an "unified" method to get utxos for monosig and multisig transactions.

Notes:

1) Insight needs to be updated with the last version that contains this commit: https://github.com/bitpay/insight-api/commit/63db916f5dbd172dc2fda2ea986e6a527e456c93

2) `jmcorgan` don't return unconfirmed transactions. There is two solutions I think: 
- in the method `searchrawtransactions` (https://github.com/CounterpartyXCP/counterpartyd/blob/new_blockchain/lib/blockchain/jmcorgan.py#L15) complete the result with filtered transactions from the `mempool`.
- use `listunspent` for addresses in the wallet (more simple but --unconfirmed will works only with addresses in the wallet).

3) I propose in this PR to remove `blockr` and `sochain` from the `blockchain`module. They return a lot of timeout error and I don't see any good reason to maintain this 2 providers here.