This patch implements `JoinNodesResult` class which callers of `JoinNodesWithTransaction()` can access removed node, existing (joined) node and joined point with logical named accessors, and makes `JoinNodesWithTransaction()` return it. Then, the callers don't need to change at fixing bug 1735608. Differential Revision: https://phabricator.services.mozilla.com/D132120