Show operands when an unification fails, so it is much easier to interpret

* The only information which can be given to fail() is debug info
* It defaults to init, as before

With this commit, if there is at exc.debug `unit` or a Record, the stack trace will be filled and the value at `info` preserved (`unit` if not available). Other fields of the record will be ignored, should we care to copy them (the code would be much more involved at that place)?