[B] Move all calls of BlockFromToEvent to flow() method. Fixes BUKKIT-4750

**The Issue:**
Currently BlockFromToEvents are sent regardless if the water flows or not. (North, South, East, West)

**Justification for this PR:**
By moving the event creation into the flow() method the event is only called when the water actually flows.

**PR Breakdown:**
Doing this required a new class property to be added `nearby_source` which must be set to the 'from' block before calling flow().

**Testing Results and Materials:**
To Be Added

**Relevant PR(s):**
None

**JIRA Ticket:**
BUKKIT-4750 - https://bukkit.atlassian.net/browse/BUKKIT-4750