OSD,PG: add upgrade procedure for snap_mapper

Also, sub_op_modify transactions currently carry the operations
for creating snap links in the shipped transaction.  To handle
ops shipped by unenlightened osds, transactions can now be
tagged with a tolerate_collection_add_enoent flag.

Signed-off-by: Samuel Just <sam.just@inktank.com>
PG: check and repair snap_mapper entries during scrub

Signed-off-by: Samuel Just <sam.just@inktank.com>
OSD: remove snap_mapper entries in RemoveWQ

This is a somewhat ugly hack for now until we implement
pg resurrection.

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