Reimplemented nt2::swap

- Independent of BLAS
- Allow for sub-expression swapping
- SIMD/scalar version available
I think it doesnt work as you have no place to store the temporary value.

tie(b,a) = tie(a,b) will generate

b[i] = a[i]; a[i] = b[i];

for all i  in sequencem this is clearly wrong.