Split code sugar and logic in Profiler class

Add new class Trace that can be used with "with" statement:

  with Trace(name, info):
     do_something

Remove "with" support from profiler class.

Add unit test and fix wsgi middleware according to this change.

Change-Id: Idf7c9bbf262b909da9865d8d396a1f62b8e4d48d