Don't return Exception when volume is detached
This patch changes the way we handle volume detach
attempts when the attachment_id is already detached
and/or when the volume has no attachments. We now
handle this the same way we do with deleting volumes
that don't exist. We return success.
This patch also takes care to make sure we safely reset
the volume status to what it should be depending on if
there are other attachments. If the attachment_id is
passed in and that attachment is detached, but there are
other attachments, we want to make sure that the volume is
left in an in-use state, not available.
Change-Id: I11b7c45bb6570ce11e13e487cf1136ca2551036b
Closes-Bug: #
1484194
Related-Bug: #
1476806