asmc: resource cleanup simplifications
This change makes asmc_detach(..) reentrant by setting freed resources
to known invalid values when done, and makes asmc_attach(..) call
asmc_detach(..) instead of attempting to the semi-equivalent way of
cleaning up the driver resources allocated in asmc_detach(..).
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D55413