Add zio_ddt_free() error handling

The assumption here is that ddt_phys_select() must always find
a match.  However, if that fails due to a damaged DDT or some
other reason the code will NULL dereference in ddt_phys_decref().
This needs to be handled more gracefully.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Issue #1308