Fix swallowing of propagating exceptions

Diagnostics has been wrapping exceptions in UnhandledFubuException. This
makes it difficult to catch certain types of exceptions that are
propagating up the behavior chain. You would have to catch a different
exception (UnhandledFubuException) than the one you intend to catch and
inspect its InnerException when the Diagnostics bottle was included in
your Fubu web app.

This bug fix does away with UnhandledFubuException and instead prefers
FubuMVC.Core's IExceptionHandlingObserver service that doesn't wrap the
original exception.
Re-converted to ripple2
Guarding against a null BehaviorFinish report