Client: improved error handling in crab utility.

The main function in the crab utility now returns an
exit status which is passed to sys.exit().  This is used
to exit with error status if an error or warning is
detected.
Web: added option on job page to clear status.

This inserts a new status "CLEARED" into the alarm table, which
allows the user to clear the warning/error status of a job.
So if a problem has been resolved manually, it can now be marked as
cleared so that Crab no longer shows the error status.

The "CLEARED" status is classified as "trivial" so that it should
not show up in event listings or notifications.  The monitor
therefore has to detect it specifically.

Added a confirmation page to prevent a single accidental click on the
clear link from inserting the alarm immediately.  The confirmation
page then uses a form with a POST method so that we are not using
a GET for an action with effects.  This is why it could not just be
implemented with the JavaScript confirm box.