Hid a shutdownComplete() signal which apps should not call themselves; added a 'reason' string to all calls to shutdown()