Add method "diag" into builtin which is analog to numpy's builtin method [diag].  Associated tests added.
Merge github.com:spartan-array/spartan into origin

Conflicts:
	spartan/expr/builtins.py
Merge branch 'master' of https://github.com/fegin/spartan into newaxis
fix edge cost exceeds int range error
Newaxis Done, now on dimension things
Enhancement: expr.newaxis
Bug fixes
Bug fixes
Merge branch 'master' of github.com:spartan-array/spartan
Bug fixes
fix tiled expr reuse error
remove cost_hint in lda
Sync with numpy's slice operation
Modify test to verify slicing with [-1]
.
Merge pull request #205 from MaggieQi/master

fix edge cost exceeds int range error
#208 Add logical operations to Expr
Merge pull request #209 from rgardner/add-and-or-operators

#208 Add logical operations to Expr
Minor modifications
Merge pull request #207 from GabrielWen/newaxis

Enhancement: Newaxis