AutoScaler: calls listener if max size reached

- tracks the "unbounded pool size" (i.e. what it would be if there were
  no max pool size), and calls a listener if this goes above the
  max pool size for a sustained period of time
AutoScaler tidy: extract SizeHistory class
Fix REST's ConfigSummary.defaultVal serialization

- When config key's default value is not json serialisable, was getting
  500 errors.
- Fix by just sending String representation of the default value
AutoScalerPolicy: support reconfiguring config
AutoScalerPolicy important fix: avoid no-op forever

- When isEntityUp() was initially null, the scheduleResize() would
  have first done executorQueued.compareAndSet before checking this!
  So it would never go into the for loop to set executorScheduled back
  to false.