Added basic UI for Nestable Async Events

This CL adds basic UI support for nestable async events.
Still need to find out whether the UI looks okay. But right
now it looks like the picture in the design doc below.

Design Doc:
https://docs.google.com/document/d/1Z2uqj59UEts5IiXX78mkdU4kd6e7kE3JUKPoDK97bVs/edit?usp=sharing
This code does combine the params hashes. The result will be {params: {foo:1, bar:2}} instead of {foo:1, bar:2}.  I wrote a test case too. Search this page for "nestableAsyncCombinedParams".