This is a deep-equality function that will return true if two objects have the same values (recursively).