Refactoring of problem reporting in multipolygon assembler.

The reporting is taken out of the multipolygon assembler and put into a
hierarchy of classes that can do the reporting in different ways. One
reporter class just writes out the problems to a stream, another stores
them in any OGR datasource.
Directly write out area assembly problems to OGR datasource.

Problems were stored in memory before. Writing them out directly is much
simpler and, because (hopefully) there aren't that many problems, shouldn't
impact performance too much.
Fix operator= of SegmentList.