Support assignment from other grids.

Allows one to assign a grid to a slice of another grid as one
might do with NumPy. This action doesn't replace blocks in the
assignee, rather it copies properties from the assigned blocks
to the assignee blocks, modifying them in place.
Python 3 fixes.
Merge pull request #23 from jiffyclub/grid-assignment

Support assignment to slices from other grids