client: allow custom transport, esp. for timeouts
tail: retry when failed
client: add TradeError
tail: fibonacci retrying
client: simple analytics