update: improvements from review

* remove confusing 'optionally' in docs
* use single hasTracer checks with duplication, rather than multiple if-checks
* final val hasTracer/tracer for final accessor methods
* add private[this] to some values and methods
* update to scala 2.10.3 for self-type + private[this] fix