rewrite equals methods in several value classes
1. rewrite equals methods in BasicMatrixValue, Shape and RangeValue,
these equals methods should and must override equals(Object obj), since
we use generic in our value analysis, it's not always the case we can
define the object's class statically, so, the best idea is that the
equals methods in generic class always override equals(Object obj).
One exception is the equals method in DimValue, since it's not a generic
class, but it's also fine to rewrite it to override equals(Object obj).
2. rename one method in BasicMatrixValue, isConstant, this name seems
confusing people, because there is isConstant method in Shape, to return
whether the shape is exactly known shape, the isConstatn in
BasicMatrixValue just want to know whether we have constant value, so
I rename it to hasConstant.
TODO fix merge and equals method in rangeValue analysis
Merge branch 'develop' of https://github.com/Sable/mclab into develop