Airbrake error fallback

Fallback to `msg` in airbrake hook if:

- no `error` was provided (or it wasn't an `error` type)
- `msg` is an `error` type

For convenience since often `msg` will just contain the anyways.

Also fixes a panic if `error` was not an `error`.
The problem is that this breaks a lot of custom hooks and formatters that don't call the `prefix` function (most of them), for an arguably pretty specific use-case.

Let's stay backwards compatible here for now, by keeping `entry.Message` as `fmt.Sprint(..)`.