Improve logging of unexpected exceptions
Improve logging of unexpected exceptions

Functional tests are showing "unexpected exception" error logs for
GreenletExit (although that's not obvious, because it's printed as an empty
string), which is not exactly unexpected. This patch clarifies the logging
to make it more obvious what's going on and reduces the severity for exit
exceptions. If a truly unexpected exception occurs, it will still be logged
(complete with backtrace) by one of the cleanup handlers linked to the
greenthread.

Change-Id: Ia59382ed8685ff04943920265511faeb81c03229

openstack/heat,steveb/heat,noironetworks/heat,steveb/heat,cwolferh/heat-scratch,openstack/heat,cwolferh/heat-scratch,noironetworks/heat