Add Block:next and Block:walk methods
Make depth-first iterator behave similarly to the pairs function
Suggest one more way for walk iteration: for b in mesh:walk() do ... end
Change walk method to only travserse descendants
Add a flag to the fish_block_totalzones method to include guards or not

This commit exposes a bug somewhere, probably in the fillguard method.
Some blocks appear to receive incorrect boundary data on their left
edge.