Expand fishing API

Fishing currently works by randomly choosing an int between 100 and 900 and counting down every tick until that number is 0.  At 0, the fish begins its bite process which involves another random number between two more seemingly arbitrary numbers.

This PR aims to begin allowing plugins more control over the fishing process.