SuReal: changed get-mapping

Expanded upon https://github.com/opencog/opencog/pull/1088 to allow UnorderedLink (by generating all possible permutation of the stuff in the UnorderedLink), and enforce structure match of hypergraph.

ie.  the whole structure of two atoms must match (taking care of unordered-links), and in that matched structure, one of the node's name must match
Not sure I understand the question, but `(AndLink (ConceptNode "dog") (NumberNode "1"))` needs to match with `(AndLink (NumberNode "1") (ConceptNode "dog"))`, so the types and permutation matters.

Anyway, I just realized there's a bug in the code I forgot to test.  I need to fix that first.