Print failed statement in backtrace

Update tests accordingly.
Fix backtrace sed script for non-GNU seds

Tested on GNU `sed --posix`.

From `info sed`:
`\+'
     As `*', but matches one or more.  It is a GNU extension.

`\CHAR'
     Matches CHAR, where CHAR is one of `$', `*', `.', `[', `\', or `^'.
     Note that the only C-like backslash sequences that you can
     portably assume to be interpreted are `\n' and `\\'; in particular
     `\t' is not portable, and matches a `t' under most implementations
     of `sed', rather than a tab character.
Refactor the stack trace-capturing debug trap
Merge remote-tracking branch 'ahippo/print-failed-command' into print-failed-command

Conflicts:
	libexec/bats-exec-test
Split print_failed_command from print_stack_trace
`bats_frame_filename` normalizes test filenames
Print the failing status code, if it's significant
Print filenames relative to the working directory
Print the outermost, not innermost, failed command

The outermost command—i.e. the line that failed inside the test case function itself—is more likely to be meaningful at a glance than the innermost command, which might be e.g. the implementation of a helper assertion.