Use stagedfunctions instead of @ngenerate and @nsplat

This commit tackles all files except multidimensional.jl
ngenerate/nsplat: multidimensional algorithms on AbstractArrays
ngenerate/nsplat: getindex/setindex for AbstractArrays
ngenerate/nsplat: getindex methods for BitArrays
ngenerate/nsplat: BitArray setindex! part 1