Try to remove some shuffles in the apps

fix optimization twice error
In original implementation，region_map should force all exprs in its kw to Distarray since map expr will not evaluate its kw，then opt tiling will be broken by assign expr. If we put these evaluation later in the map evaluation，then opt tiling can opt more exprs. 

发自我的 iPhone

> 在 Sep 15, 2014，8:22 AM，Chien-Chin Huang <notifications@github.com> 写道：
> 
> In spartan/expr/map.py:
> 
> >    def _evaluate(self, ctx, deps):
> >      children = deps['children']
> >      child_to_var = deps['child_to_var']
> > -    op = self.op
> > +    self._evaluate_kw(self.op)
> Why do we need _evaluate_kw? What's the difference between the original evaluate and _evaluate_kw?
> 
> —
> Reply to this email directly or view it on GitHub.