Reimplement nt2::swap

- Remove dependencies on BLAS
- Support sub-table swap
- Potentially optimized in SIMD/threading