make a copy of the snip before writing it to the port
since snips will silently fail to be inserted when
they are already inserted and some ports just take
snips and insert them into editors without copying
them first

closes PR 13960
make un/cache-image accept everything that image? accepts

I'm not sure if the precise details of how this function behaves
(specifically that it copies snips that aren't cacheable) is
important, but I suspect the implementation is more authoritative
that the docs in this case, so document what it really does.

closes PR 13956
move check syntax's context menu items to the front of the menu

closes PR 13940