Add 'use_previous_backends' option.

* This option defaults to true:  if there are no default servers and a watcher
  reports no backends, then use the previous backends that we already know
  about.
* Factor out code that updates '@backends' into the watcher base class.
nit: I would "expect(subject.backends).to eq(backends)" here