Merge branch 'bmyerz-compile-state' into bmyerz-common-subexpression
eliminate redundant FileScans in clang.

This is hardcoded into MemoryScans usage of FileScan
redo __eq__ silliness by overriding to make more obvious
fix issue #128 for clang
fix typo "defition"
fix union/join symbols! part of issue #128
add self-join and union on build join side test queries
add elimination for redundant hash builds
clean up: rightTuple does not have to be passed to left side of hashjoin
self three path to test hash join build elimination
a way to turn off CSE
add FileScan dedup to grappalang

also removes the tuple_type argument to FileScan.compileme
and adds some dev docs
extract FileScan duplicate code
hahsjoin cse for grappa

other refactorings small
Merge branch 'bmyerz-grappalang-cleanup' into bmyerz-common-subexpression

Conflicts:
	raco/clangcommon.py
Merge branch 'master' into bmyerz-common-subexpression

Conflicts:
	raco/clangcommon.py
dont tie hashcode to readable string representation
Merge pull request #129 from uwescience/bmyerz-common-subexpression

Common subexpression elimination in clang for FileScan and HashJoin build