Potential water catcher changes to improve server performance on long water catcher chains:
When a water catcher is going to generate water, check to see if we can find the eventual destination of that water and instead deposit the water there instead.
This involves skipping the in-between catchers in a chain to prevent each catcher getting turned on as it receives water and then getting turned off as it passes the water on.
This eliminates a lot of IO overhead as each activation/deactivation involves a nework update for the entity