Simplified Version of Guards II

- Adds guard of the form "m(x) -> g"
- Adds object $Sol to represent the solution variable: when $Sol is at the left side of the rule, all the atoms of the solution are removed
- Adds method removeExecutions() to State.scala, which removes all the executions from the state
- Adds methods to remove all atoms to: StateMachine, Cham, Agent, etc
- TODO: implement removeAll() method in ObserverPatternCham