This commit contains the following changes:

1- Separated the Store class to three parts: Store (the old non-Constraint Based Store). StoreUtil, contains the utility classes for both Stores. And, ConstraintStore, contains the constraint based Store and its utility classes, everything in ConstraintStore is immutable for easiness.

2- Added CBPEvalutor, which is a work in progress, this class serves as my Constraint Based HPE.

3- The older PartialEvalutor is no longer here (the class is completely commented out)

4- ObjectValue, has ConstraintStore instead of Store

5- Now Compiler.scala class calls CBPEvaluator instead of PartialEvaluator

6- Removed the connection between StoreTrait, Store and ConstraintStore. This is no longer needed.