Tracking call ID across entrypoints

JIRA 829

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.

Call stack IDs should be persisted across RPC calls and event dispatches.