Rewrite destroy_filesystem to fail properly if fs is mounted
Rewrite destroy_filesystem to fail properly if fs is mounted

This handles the common case where fs.destroy() fails because the fs is
still mounted. On error, the fs should not be removed from
self.filesystems, because this leaves things in an inconsistent state.

Do not exit early with an error when destroying a filesystem.
Since fs.destroy() succeeded, the filesystem is gone, and
destroy_filesystem() must succeed, since to fail would be to say the
fs still exists. If either of the other removal steps fail, still return
success, but emit a log message, since our state is now inconsistent
with reality. (We will handle this inconsistency in the next commit.)

Also make the log messages more copious.

Signed-off-by: mulhern <7b51bcf507bcd7afb72bf8663752c0ddbeb517f6@redhat.com>
Signed-off-by: Andy Grover <b7d524d2f5cc5aebadb6b92b08d3ab26911cde33@redhat.com>

stratis-storage/stratisd,mulkieran/stratisd,mulkieran/stratisd,trgill/stratisd,stratis-storage/stratisd,trgill/stratisd,stratis-storage/stratisd