First stage of integrating Mauvebic's water flowing code.  This is experimental
and doesn't move water yet - but at least it doesn't break anything :-)