Add future_rpc context manager for nova RPC with futures

```python
with future_rpc(uri='amqp://xxxxx') as proxy:
    future = proxy.service.method(foo='bar')  # Request goes out
    result = future.result()  # Waits for response to be picked up on reply queue
```