Initial swaption commit.
Implement swaption example and add benchmark.

Swaption example still does not work because of slicing issues
(Expressions are read only).
Add assign function.

assign(a, idx, value) returns a RegionMapExpr.
Merge branch 'assign' into 'swaption'
Fix spelling errors and Expr indexing
Add DistArray support to assign
Merge br 'assign' into 'swaption' for DistArray
Allow idx be TileExtent for assign; add more tests
Merge br 'assign' into 'swaption' for tile fix.
Merge br 'master' into 'swap' for ref count fix
Merge br 'assign' into swaption for mapper bug fix

Conflicts:
	spartan/expr/assign.py
	tests/test_assign.py
Fix swaption model
Fix assign
Add print statements
Fix map and slicing shapes
Add tile hints and num paths to swaption
Merge 'master' into swaption

This merge fixes assign, region_map, slice, and transpose. These are
necessary for the swaption example to function properly.

Conflicts:
	spartan/expr/assign.py
Fix assign indentation.
Fix scan, remove tile hints, format results.

The `np.sum` parameter was removed from `spartan.scan` in `mu` because
it failed on size (39, 20) for glomming (cannot reproduce outside of
this test file).

The tile hints did not improve performance, the times differed by <0.1
seconds.
Remove old imports and fix broadcast tiles attr