Timer.cc: use complete() rather than finish()

Signed-off-by: Samuel Just <sam.just@inktank.com>
ReplicatedPG: add intrusive_ptr hooks

Signed-off-by: Samuel Just <sam.just@inktank.com>
PG: check object_contexts on flushed

At FlushedEvt, all outstanding io should be complete and
the object_contexts map should be empty.

Signed-off-by: Samuel Just <sam.just@inktank.com>
osd/: move ObjectContext over to osd_types.h

Signed-off-by: Samuel Just <sam.just@inktank.com>
Watch/Notify: rework watch/notify

Signed-off-by: Samuel Just <sam.just@inktank.com>
ReplicatedPG: accept watch cookie value with notify ack

Signed-off-by: Samuel Just <sam.just@inktank.com>
librados/: include watch cookie in notify_ack

Signed-off-by: Samuel Just <sam.just@inktank.com>
doc: add some internal docs for watch/notify

Signed-off-by: Samuel Just <sam.just@inktank.com>