add FileScan dedup to grappalang

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