Code duplicate removed
Default locator settings (host:port) can be changed via command line arguments
IPV6 support for services and pipes

 * services can have property `address`
 * exceptions arguments fixed - now take address field instead of host:port pair
Basic `tornado.concurrent.Future` and python 3.3 `concurrent.futures.Future` support

 * now you can use tornado or python 3.3 futures in chain processing pipeline just by yielding functions which returns that future object. Its result will be returned.

For example, let's use robust non-blocking tornado http client to get headers from http://www.yandex.ru:
```
from tornado import httpclient
from tornado.ioloop import IOLoop
from cocaine.futures import chain

@chain.source
def fetch():
    client = httpclient.AsyncHTTPClient()
    try:
        response = yield client.fetch('http://www.yandex.ru/')
        print(response.headers)
    except Exception as err:
        print(err)
    finally:
        loop.stop()

loop = IOLoop.current()
fetch()
loop.start()
```