Refactor/blockchain

Mayor refactor on Insight backing service, the main improvements are:
* Replace the `Socket` (angular) service and move it's responsibility on this module.
* Replace the ad hoc request function with the `requests` module (both on brower and node)
* Replace the ad hoc _asyncForEach function with the `async' module
* Use the callback(err, data) practice for all functions
* Offer an endpoint to subscribe to addresses and emit events: `tx`, `block`, `connect` and `disconnect`

We now can reuse the module between several wallets.

Closes #1192
Maybe self.subscribed should be a object 
{address:true} so prevent searching the the array and...