Make Consumer and BufferedConsumer have the same interface.

It should be possible to switch between the two consumer classes provided without any code change. Currently you'll run into issues if you have implemented the `BufferedConsumer`, with calls to `flush()` where appropriate, and then, for some reason, goes back to the default `Consumer`.
My suggestion is to simply add a dummy `flush()` method to `Consumer`. I made it static since it doesn't use self and it works great with inheritance too.