add automatic tiling optimization
add mincost_maxflow C++ implementation
fix partitioned array tiling bug
change mincost maxflow to dynamic programing with greedy choise
* use visit_expr.typename() to dispatch the expr to its corresponding code
for processing.
* do not create any new nodes for reuse exprs
Merge branch 'master' of github.com:spartan-array/spartan
rename mincost_maxflow to mincost_tiling
remove noused import
fix None axis scan result
fix autotiling optimization bug: isinstance(expr.typename(), [...]) to
expr.typename() in [...]
Add appdirs.user_config_dir support.

In the latest appdirs builds, `user_data_dir`` has moved from
~/.config/spartan to ~/.local/share/spartan. A `user_config_dir` command
was added for the original behavior (~/.config/spartan).

If the user is using the latest appdirs (v1.3.0 and up), then use
`user_config_dir`; otherwise, fall back on `user_data_dir`.
unchange the test_optimizations flag
disable parakeet in linear_regression and log_regression since it can
not broadcast the array shape correctly.
remove the with_ctx in the test_ridgereg.py
remove the FLAGS in the test_ridgereg.py
fix scan shape error
Fix getattr call to hasattr
* move scan from builtins to scan.py
* remove tile_hint from shuffle expr since it is not used any more
* change not_idempotent expr from force at once to add to not_idempotent_list so that it will not be fused
add scan.py
Merge pull request #183 from rgardner/update-config-settings

Add appdirs.user_config_dir support.
Merge pull request #185 from rgardner/fix-config-settings

Use hasattr, not getattr in if statements