World|Line|Sector: Relocated missing material fixing to Line::Side

When a missing material fix is applied, automatically mark reverb
data for the adjoining sector cluster dirty.

Also applied the fluent interface pattern to Surface as typically
one configures several properties at once.
World|Sector: Improved dynamic plane mapping wrt deeply nested map hacks

When such a mapping is made, rather than directly map the immediate
interior clusters directly we will instead invalidate their mappings
to force re-evaluation (producing a "ripple effect" that will result
in all deeply nested clusters being remapped).

Also improved the remapping logic so that only invalidated mappings
are remapped. Previously mappings for both planes would be updated
when either was invalidated. This is not an issue presently but in
the future this will reduce map geometry regeneration.