asynctypes-685526: Fix failing util.synchronize

ParameterType is never required to be synchronous, so we don't need to
pretend it is in testing.
Type.stringify is defined as being synchronous, so types just need to
find a way to make it so. In the case of selection, we add
object.toString as a fail-safe in case getLookup can't be done in a
synchronous way.

At this point all the built-in tests run when forceAsync is set to true
with the exception of DelegateTypes. For now we are leaving as a
restriction that delegates can't be asynchronous.

Signed-off-by: Joe Walker <jwalker@mozilla.com>