Added deadlock avoidance test

DeadlockTest uses AsyncLock to produce a deadlock. ContextTest is identical except uses
SerializingSynchronizationContext instead to avoid deadlocks.

Polished up context demo.