Export Config{} variables

* export config variables so they can be set directly (restore type safety)
* move defaults to struct tags (and considate docs)
* add Config.Valdate() and panic when NewConfig() is not used
* copy Config into Consumer and Producer so it's immutable
* rename SetMaxInFlight to ChangeMaxInFlight to more appropriately describe functionality