add automatic tiling optimization

Can you create a scan.py and put `scan` to the file?  `Scan` is one of Spartan's high level operations, it should not be in the same group as other expressions in builtins.py.