A huge update on array design

As detail array can a referred object right now. It is more convenient
to consider every row or column as a vector.
Merge remote-tracking branch 'origin/master'