Reimplemented nt2::swap

nt2::swap is now not tied to BLAS and can work properly with slicing expressions.