Fix potential intermittent failures related to configuration synchronization

I ran into this failure:

```
  1) Interact Search verify tenant separation:
     Uncaught AssertionError: false == true
      at /Users/branden/Source/oaeproject/Hilary/node_modules/oae-tests/lib/util.js:655:16
      at /Users/branden/Source/oaeproject/Hilary/node_modules/oae-tests/lib/util.js:195:28
      at Request._callback (/Users/branden/Source/oaeproject/Hilary/node_modules/oae-rest/lib/util.js:231:20)
      at Request.self.callback (/Users/branden/Source/oaeproject/Hilary/node_modules/request/request.js:121:22)
      at Request.EventEmitter.emit (events.js:98:17)
      at Request.<anonymous> (/Users/branden/Source/oaeproject/Hilary/node_modules/request/request.js:978:14)
      at Request.EventEmitter.emit (events.js:117:20)
      at IncomingMessage.<anonymous> (/Users/branden/Source/oaeproject/Hilary/node_modules/request/request.js:929:12)
      at IncomingMessage.EventEmitter.emit (events.js:117:20)
      at _stream_readable.js:910:16
```

Logs indicate that recaptcha was not disabled, even though the test process clearly disables it using `updateConfigAndWait`. I'm not 100% sure, but I suppose this is possible:

1. Some other configuration update occurs without synchronizing with the test (UpdateA)
2. We disable recaptcha with a config update (UpdateB)
3. UpdateA fires it's cache refresh event allowing the test to continue, even though we haven't updated the recaptcha config in memory yet
4. We attempt to create a user and get the recaptcha error

I've changed the synchronization method for config to wait for *all* config updates to complete rather than waiting for just one. This is more in-line with how we handle MQ task synchronization, and also the code for it is much more intuitive and less verbose.