[TODO] on error, we shouldn't discard valuable information
follow up from https://github.com/AndreiRegiani/INim/issues/29: my original bug report was actually only half valid / imprecise (sorry for any confusion!); let me clarify what I think is ideal default behavior:

let's reuse bugs/t59_array_index.nim: same as in https://github.com/AndreiRegiani/INim/issues/29

```
inim
👑 INim 0.3.1
Nim Compiler Version 0.18.1 [MacOSX: amd64] at /Users/timothee/.nimble/bin/nim
inim> import bugs/t59_array_index
Error: unhandled exception: index out of bounds [IndexError]
```

the useful context is lost here.

* `@["a", "b", "c"]` stdout normal output should be shown (but i think that's just https://github.com/AndreiRegiani/INim/issues/30)
* the error should be:
```
/Users/timothee/git_clone/nim/timn/bugs/t59_array_index.nim(3) t59_array_index
/Users/timothee/git_clone/nim/Nim/lib/system.nim(3597) []
/Users/timothee/git_clone/nim/Nim/lib/system.nim(2807) sysFatal
Error: unhandled exception: index out of bounds [IndexError]
```
which shows the relevant useful runtime stacktrace
the only non-relevant information, that we can discard, is:
`Error: execution of an external program failed: '/tmp/nim//app '`

## NOTE: this is also how ipython3 does it.
```
ipython3
Python 3.6.5 (default, Jun 20 2018, 01:40:23)
Type 'copyright', 'credits' or 'license' for more information
IPython 6.1.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]: import t01_inim_issue_29
['a', 'b', 'c']
a
---------------------------------------------------------------------------
IndexError                                Traceback (most recent call last)
<ipython-input-1-7cfa22fd8457> in <module>()
----> 1 import t01_inim_issue_29

~/git_clone/nim/timn/tests/python/t01_inim_issue_29.py in <module>()
      2 print(a)
      3 print(a[0])
----> 4 print(a[3])
      5

IndexError: list index out of range
```
- [ ] TODO: and in their case, they show more source info which could be nice as an enhancement

## NOTE: same with `inim -s=bugs/t59_array_index.nim`, the useful error should be:
```
inim -s=bugs/t59_array_index.nim
inim_1531876765
/Users/timothee/git_clone/nim/Nim/lib/system.nim(3597) []
/Users/timothee/git_clone/nim/Nim/lib/system.nim(2807) sysFatal
Error: unhandled exception: index out of bounds [IndexError]
```

ie, only `Error: execution of an external program failed: '/private/tmp/inim_1531876765 '` would be discarded

## NOTE: the existing behavior is correct in the following case:
```
inim
👑 INim 0.3.1
Nim Compiler Version 0.18.1 [MacOSX: amd64] at /Users/timothee/.nimble/bin/nim
inim> asdf
Error: undeclared identifier: 'asdf'
inim>
```
since there's no relevant stacktrace

## summary
* for runtime errors (after compilation of given cmd succeeds and program is ran, then errors), show runtime stacktrace (discard just "Error: execution of an external program failed" which actually isn't even part of runtime error, just the wrapping exec cmd)
* for compile errors, existing behavior (eg just showing: "Error: undeclared identifier: 'asdf'") is problably ok but I need to double check on more complex failures; eg, we problably don't want to filter out "template/generic instantiation from here"  compilation error messages since these contain useful information to figure out why compile failed
