exception Bad_format now takes a backtrace list to preserve through re-raising

Also turns on debug, backtraces are only dumped when Bad_format is re-raised
Backtraces are only printed if backtraces are turned on
Use formatted strings for backtraces rather than raw_backtraces
Merge pull request #1276 from dsheets/format-error-backtraces

exception Bad_format now takes a backtrace list to preserve through re-raising