Book cloning fix
This is a bug fix to allow copying books to work 100% of the time and closes #3682. This is an adaption of a patch Camotoy wrote a few years ago, I changed it to work with the modern codebase and fixed an issue or two. This needs more testing to ensure that it works 100% of the time and that it doesn't break any existing crafting recipes. The code can likely be rewritten to be neater and more modular but I did not get around to that yet.
Did some tests. When cloning multiple books at once the request is rejected because timesCrafted != 1. Also, after cloning a book, attempts to move the original book out of the crafting grid is rejected.
I had to comment out updateCraftingGrid from JavaContainerSetSlotTranslator to consistently reproduce these bugs.