tracing: pass call callbacks on correct provider

This will make it so callbacks are only called on the correct provider,
but still reserve the async stack.

Also the provider type (e.g. TCP) will be passed as the second argument
to the create() callback.

process.nextTick() is a special case, since it doesn't have a provider
type of its own. So it inherits the provider of the parent caller.