Constantized upper bound numbers during ID generation
there's no need to calculate them each time
Changes to span:
* changed tracer_id to trace_id
* span now prints a trace_id when to_hash is called

Span changes:
Tracer cleanup:
* removed current_span_id from to_hash
* exchanged to_hash method for spans method which is a list of spans
  each in hash format
* removed jsonifier helper as this is required only at the trace level
* tainted reason now appears on root span
* also passing intrumentation_time down to root span
* so now the trace has no metadata associated with it - all trace level
  metadata is passed along to the root span and
* each span can be expressed as a hash of span_id, trace_id, annotations
  and everything else is metadata on the span
* Bug fix: starting a new child span was not propagating the trace_id
  before