1. For each message class type generated from async call, an extra field 'contextID' of type 'mace::string' is added.
1. For each message class type generated from async call, an extra field
'contextID' of type 'mace::string' is added.

This field is used to specify in which context should the async call execute.

2. Another helper method is created.

In the message event handler, the head put the message into an event queue,
when the event is poped out, it execute a async_head_fn{id}_foo helper method,
which in turn send the message to the destination.

3. Next thing to do: support context annotation in the language grammar.

jojochuang/eventwave,jojochuang/eventwave,jojochuang/eventwave,jojochuang/eventwave,jojochuang/eventwave