Handle inventory max stack sizes better. Fixes BUKKIT-5564

Make sure we check the inventory's max stack size where appropriate and
don't assume the inventory slot is able to take our entire stack just
because it is empty.