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.