Fix 1187

Fix and test case for #1187. The bug was that the data stack and retain stack contain uninitialized locations:

```factor
    === Basic block #3
    ! These two instructions add 8 and 2 slots to the stack which are uninitialized.
    ##inc-r 8
    ##inc-d 2
    ! Causes memory protection fault.
    ##peek RCX D 2
    ##peek RBX D 3
    ##allot RAX 16 array R12
```

Then `general_error` calls `primitive_compact_gc` which tries to trace the data and retain stack. But things go wrong because of uninitialized stack locations. The answer I think is to always reset the data and retainstacks beforehand in general_error.