TrackedOp: rework dump interface a little

Put only the bare essentials in the TrackedOp::dump() implementation, but
have that call into a _dump() function that implementations can specify.

Signed-off-by: Greg Farnum <greg@inktank.com>
TrackedOp: give people an _event_marked() notifier instead of a virtual mark_event()

This is less prone to getting broken.

Signed-off-by: Greg Farnum <greg@inktank.com>
TrackedOp: specify queue sizes and warnings on a per-tracker basis

If we have multiple trackers in a daemon, we want to be able to configure
them separately. Plus, users already know how to control op sizes in the
OSD, so changing the config options (as we did in a8bbb81b7b7b6420ea08bc4e99a39adc6c3c397a)
is not really appropriate. Instead, provider setters which can be called
at construction time (or on any other change) and use them in the OSD with
the configurables we had previously. Add an observer so you can continue
to change them at run-time

This reverts a8bbb81b7b7b6420ea08bc4e99a39adc6c3c397a

Signed-off-by: Greg Farnum <greg@inktank.com>