Move pointer_equals/2 into the private_builtin module.

library/version_hash_table.m:
library/private_builtin.m:
    Move pointer_equals/2 as above.

    Rename pointer_equals to pointer_equal.

library/private_builtin.m:
    Adjust a comment to say that this module also contains predicates with
    normal definitions.  That is, they're built into the language but not
    built into the compiler.
Rename version_hash_table.equals/2

Rename version_hash_table.equals/2 to equal/2 as this name is more
consistent with the rest of the standard library.  Normally when renaming
predicates and functions in the standard library we deprecate them.
However, version_hash_table.equals/2 hasn't existed for very long and so
very little code depends on it's name.

library/version_hash_table.m:
    As above.
Address review comments

Thanks Peter for your corrections.

library/private_builtin.m:
    As above.
Implement map.equal/2

The unification operation on 2-3-4 trees tests if they are structurally
equal.  They might also be considered equal if their sets of key-value pairs
are equivalent.  I've created an equal/2 predicate in the tree234 and
map modules in the standard library to test this.

library/tree234.m:
    Implement a predicate to test for tree234 equivalence.

library/map.m:
    Forward map.equal/2 to tree234.equal/2.

NEWS:
    Announce this change in the news file.

tests/general/map_equal.m:
tests/general/map_equal.exp:
    Add test case for map.equal/2

tests/general/Mmakefile:
    Include the new test case.
Merge branch 'version-13_05-branch'