New mutations: link_items_to_item / unlink_items_from_item

These would be two mutations used to manipulate item linkages directly rather than through the column. (connect boards and dependency)

They would of course take the items to link or unlink, the item in question, and the column id which holds the link.

The reason for these is that it eliminates the risk of multiple operations to the column value overwriting each other. Today, separate processes can read the existing column value, manipulate it to add and remove items, then write the value to the column. This means one process may commit its changes before the other, and then the other undo the changes unexpectedly.

This also has the added benefit of eliminating the query to get the existing values - we can just issue the mutation, and the backend can handle the locking, reading, creating the new value, etc.

Additionally, it should support an option for partial additions, where if some items are on boards that are not linked, they are skipped rather than throwing an error.

In a future API version this should be the only way to link/unlink items since it eliminates a condition that can result in unexpected and undesirable outcomes.

Thanks again @codyfrisch! I also submitted this request to the team :smiley: