have `RunError` *optionally* take a custom backtrace

This updates the RunError custom exception to be optionally created
with a custom backtrace.  If none is provided, it falls back to the
`caller`.  This makes it behave like any other exception class.
Merge pull request #17 from redding/kr-run-error

have `RunError` *optionally* take a custom backtrace