Useless asserts has been removed.
Refactoring over `cocaine.futures.Future` class.

* convenient naming
* states
* guard asserts
* thread safety
Merge pull request #8 from cocaine/refactoring.futures

Refactoring over `cocaine.futures.Future` class.
Code style.
Merge branch 'refactoring.futures'
More meaningful error messages in `Locator.resolve` method.
Fixed Liskov substitution principe in `cocaine.futures.Future` hierarchy.

* `Future.is_bound` method added to check its state.
* `Future.close method` checks its state before actual closing. It's safe to call this method multiple times.
* `cocaine.futures.chain.PreparedFuture` and `cocaine.futures.chain.Deferred` refactored and simplified.
Bug fixed.

* double choking.
Minor style.
Minor style again.
Drop deprecated method.
Fix premature future closing.
Services is now tries to do single reconnect loop if network error or some other detected.

* if not successful - exception will be raised
* also services now has global locator cache