Fix diag and its code style.

This commit fixes `diag` to correctly call `_diag_mapper` instead of
`diag_mapper.` Diag no longer raises a NameError on `diag_mapper.`

This also ensures two blank lines precede _diag_mapper and diag and
updates the docstrings to the new style.
Add dimension check for diagonal

In diagonal, ensure the array has at least two dimensions and raise
ValueError if not (following NumPy's conventions). Update return type
in docstring to be ShuffleExpr (what it's always returned).
Merge pull request #167 from rgardner/fix-diag

Fix diag and diagonal.
distarray.__len__ should only return shape[0]
Merge pull request #170 from fegin/master

distarray.__len__ should only return shape[0]
Try to fix knn test.
Add travis status to README
Merge pull request #171 from EasonLiao/master

Try to fix forest test.
Add assign function.

assign(a, idx, value) returns a RegionMapExpr.
Merge branch 'assign' into 'swaption'
Fix spelling errors and Expr indexing