Add an API to restart with a specific script.
Add alternative hopper ticking

This change offers a config option intending to improve hopper ticking performance while maintaining vanilla hopper behavior. Rather than polling each hopper each tick, this alternative method relies on inventory changes and redstone updates to schedule a hopper tick.
Oops: Fix compile
Add config option for when UserCache saves
Update our patches for changes from upstream