C++ backend instability/test coverage
Due to strange issues with C++ backend some test are deactivated following correction in https://github.com/mratsim/Arraymancer/issues/91 and https://github.com/mratsim/Arraymancer/commit/cc0b7186af8197b078560d64fe6a0671562bd9ed

- test_load_openmp is deactivated due to rawAlloc randomly crashing and string conversion
- This out-of-bounds checking segfaults: https://github.com/mratsim/Arraymancer/blob/cc0b7186af8197b078560d64fe6a0671562bd9ed/tests/tensor/test_operators_blas.nim#L226-L240
- This out-of-bounds checking does not return an exception at all: https://github.com/mratsim/Arraymancer/blob/cc0b7186af8197b078560d64fe6a0671562bd9ed/tests/tensor/test_operators_blas.nim#L226-L240


Other strange happening include this change in "nested containers" 
```Nim
proc shape*[T: not char](s: openarray[T], parent_shape: seq[int] = @[]): seq[int] {.noSideEffect.}=
  result = parent_shape # Note result = parent_shape & s.len breaks at a random but deterministic point with C++ backend
  result.add(s.len)     # on the full test suite

  when (T is seq|array):
    result = shape(s[0], result)
```

Some info that may helps regarding GC in C++
-----------
Araq: there are no differences but the produced C++ code tends to contain fewer temporaries and maybe this allows the C++ backend to hide roots on the stack from us much better

Araq: you can put GC_ref / GC_unref around your seq