Fixed a few bugs with insert directions/spreading

 * Advanced/AdvancedFiltered block extenders were sending a modified insert direction every time they called super methods (for example: canInsertItem), meaning by the time the direction actually got used, it'd have been sent through getInputSide() two or three times, making the side that was checked totally arbitrary. Basically, Advanced/AdvancedFiltered block extenders should check the correct sides when trying to insert things now
 * Fixed updateBestSlot being able to set the best slot to an inaccessible slot and getting itself stuck