Reimplemented nt2::swap

- Independent of BLAS
- Allow for sub-expression swapping
- SIMD/scalar version available
is_container_terminal or is_terminal_container?
But we may actually have this somewhere already