feat(ValueFunction): Add isClose method

isClose determines if two ValueFunctions are pointwise close to
each other, given a maximum distance eps.
fix(SquareDomain): equals returned undefined in some cases

The matcher was not exhaustive. This is now fixed.
fix(ValueFunction): Proper handling of non interger keys

Keys will be not only integer but can be for examples the
Grid point index as an integer array. That case was not
handled by the equals and isClose functions properly as
they were only checking regular integer array indexes,
meaning that the actual set values of the value function
where never checked.