Tracer's flush! method need not be exposed. it is sufficient to
expose it through the stop method call
Execute all post_process blocks on the current span when the trace is stopped
Removed TODO
Using Celluloid to post process blocks instead of running them serially
Span hash should contain stop time :P
Post process blocks needed to change in tracer tests as well
* Span class no longer exposes run_post_process, instead calls
it when the stop method is invoked. This is the only situation
when run_post_process should be triggered. Thus calling run_post_process
is no longer Tracer's responsibility
Log instrumentation time for each processed block in nanos
Log exceptions to disk when processing futures
Moved error_logger from loggers to logger module