Sync with numpy's feature: partition
Fix bugs of change_partition_axis and add a test
Fix bugs on tiling changes
Update logic to change_partition_axis
Add test case for nd array sorting
Merge pull request #223 from fegin/master

Some bugs fixed.
Merge pull request #212 from GabrielWen/partition

Sync with numpy's feature: partition
Merge remote-tracking branch 'upstream/master'

Conflicts:
	spartan/array/extent.pyx

We have changed change_partition_axis to match the meaning of the axis
of sort, partition, argsort and argpartition in NumPy.
However, I think change_partition_axis should represent the most
intutive meaning. Therefore, I added another API largest_dim_axis
and reverted change_partition_axis.