Provide consistent globals on Cistern::WaitFor

Previously each class/object extending Cistern::WaitFor would end up
with its own set of timeout, polling interval, error class variables.
This change leaves the existing API in place (`Cistern.timeout`,
`SomeClient.new.timeout`) and proxies these both to the global
`Cistern::Waitfor.timeout`.

This change allows setting `Cistern.poll_interval = 0` in tests and have
it take effect, where previously only certain things looked at
`Cistern.poll_interval` and others would continue to use the default.