More clear Substitution data

Since the set of equal variables expand to a maximum of one Term, I
changed [Term] to (Maybe Term)

expandUnification is work in progress

Signed-off-by: Shahbaz Youssefi <ShabbyX@gmail.com>
Initial implementation of simplification of substitution

Signed-off-by: Shahbaz Youssefi <ShabbyX@gmail.com>
Add visited to prevent infinite loop in DFS

Signed-off-by: Shahbaz Youssefi <ShabbyX@gmail.com>