Add explode() and collect() functions

explode() expands multi-part geometries into multiple rows, and into
their single part geometries.

collect() and take multiple single geometries and combine them into their
Multi* counterparts.