Consumer metadata improvements

Since sending a `TopicMetadataRequest` with an empty list of topics is how you list all topics, this removes the explicit short-circuiting in `Consumer#metadata` when the argument is empty.

It also adds an alias as suggested in #2.

I also took the liberty of refactoring the tests for `Consumer#metadata` to to `expect(...).to have_received(...)` instead of `expect(...).to receive(...)`. The former means that the assertions are done at the end of the test, not in the test setup, and makes it easier to understand what is actually being tested.