Clean up condition module

* use `Drop` trait in `Guard`
* fix formatting
* remove bare function in `Condition.raise_default`
* use moved types instead of borrowed pointers in `Condition.{raise,trap}`
* import common functions