(DAL) Created LoadAdder

LoadAdder adds load instructions to the scheduler of actions which do not
peek the value that is read in the input. This changes the IR to fit the
abstraction required to determine KPNness
(DAL) use toString() in Call and Load Token implementations

Move hashCode() and equals() to super class
(DAL) Token: package out GetVars class
(DAL) KPN validator more accurate

This fixes a couple of inaccuracies in the abstraction of the IR
for the KPN algorithm.
- Correctly determine input and state tokens based on their dependencies
- Correctly determine whether constraint and action are equivalent
- Correctly build constraints given an action