Tracking call ID across entrypoints

When an entry-point starts, it should get, from the worker context, a stack of 'call IDs' that lead up to this entry-point beginning. It should then generate its own call ID and append that to the stack. If no stack is provided in the context, this entry-point is an initiator (or it was triggered from a system that doesn't support specifying a call ID), and should start off its own stack with just its own ID. The call stack is truncated and only includes at most the current call ID and that of the immediate parent.

Call stack IDs should be persisted across RPC calls and event dispatches.