Complete api rewrite.

Completely changed the api from being client-centric to just involving
asking mtgox or bitstamp to deliver a typed channel of
(depth/trade/orderbook). Very much simplifies things.