[metadata_checker_t] add damage_should_include() method.
[restorer] Mappings only get inserted when the device is completed.

This saves looking up the device mapping tree for every insert.
thin restorer is now careful to share the mapping tree for empty devices.

This saves a lot of metadata space if you're creating lots of empty
devs (4k per dev).  Also makes things faster since we don't have to
allocate.
[metadata_checker_t] fix silly allocation bug in the devices_visitor.