Changed the lock-free algorithm example and improved the treatment of existentials in the goal to deal equalities nested in disjunctions
o Refactored the logic package to group some of its submodules in two packages: Expr and Proof
o Refactored the ProofTree module (formerly known as Logic.Calculation) to break its ties with Logic.Theory and to remove the extendibility from the proof trees. Extensions will only be possible through tactics so that proof validation procedures can be proven correct and act as a watch dog.