use reactive-rabbit and newest akka-streams

Quite a lot changes to the API.

For update:
- [x] code
- [ ] comments
- [ ] tutorial
You should use `flatMap` here because result of:

```Scala
connection.queueBind(inboundQueue.name, inboundExchange.name, "") 
```

is `Future[Queue.BindOk]`. After running `map` you end up with `Future[Future[Queue.BindOk]]`.