Implements eval_prog, preprocess_prog, and shift for all values
Adds intersect methods for all valude
Adds intersectPoint, intersectLine, and intersectVerticalLine for all Values
First pass at intersect, but tests aren't passing...
Fixes Intersect.preprocess_prog and Let.preprocess_prog