Avoid bad free on failure to dump microdescriptor.

When we wipe out an unwriteable microdescriptor's body because dump_microdescriptor() failed, we forgot to clear its body field too. This will cause trouble later when we call microdesc_free() on that descriptor.

This is a problem in our legacy/trac#9047 (moved) fix.

Spotted by bobnomnom.