Find UniqueId suggestions asynchronously.

This is the first patch in a series to make all the UniqueId code
asynchronous / non-blocking.
Add a helper method for asynchronous internal errors.
Serve /suggest asynchronously.
Deprecate UniqueIdInterface.

This interface has never been useful and will eventually be removed.

Change-Id: Ie63411f17486074a4dd96829af09d172363cc1f2
Make UniqueId lookups asynchronous.
Factor out a bit of UniqueId code.
Coding style fixes.

Rename some variables to be consistent with the rest of the code base.
No actual code change.
Refactor the UID assignment process to be fully asynchronous.

This concludes the migration of the UniqueId code to provide
a completely non-blocking interface.