Non-zeroing dynamic drops

### Summary

Remove drop flags from values implementing `Drop`, and remove
automatic memory zeroing associated with dropping values.

Keep dynamic drop semantics, by having each function maintain a
(potentially empty) set of auto-injected boolean flags for the drop
obligations for the function that need to be tracked dynamically
(which we will call "dynamic drop obligations").