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.
I tried doing this, but unfortunately it also causes a return when new_backends is empty (irrespective of the value of @backends).  So I ended up leaving this code unchanged.