Added tests for property value equality. Not finished
Changed property equality semantics

  Instead of relying on Java's definition of equality, this commit changes so that we
  compare the values. (long)8, (int)8, (short)8, (byte)8, (double)8.0 and (float)8.0 are
  all equal.

  This is probably not the end state for these comparisons. The aim right now is
  semantically correct. We'll get to do the little tricks that are needed to make this
  fast.