Implemented sample destruction

Added a mandatory reason field when destroying samples, and auto
session-flush to generate sample IDs. Tidied up various automatically
generated log messages and included #-prefix on sample numbers in log
messages (in anticipation of turning them into links later)