Add slice() function for 1d array
Remove _size from base_array_t, it is calculated from shape

- Separate premitive properties and derivered property functions
Make stride is actual 'byte' offset, not depending on type
Add slice function for 2d array
Merge branch 'stride' into trunk.linux