Make ST_3DLength return 2D length for 2D geoms.

Before, ST_3DLength was returning 0 for a 2D geometry, which didn't make
any sense. Now it returns the same value as ST_Length for 2D geometries.
Unit tests added. Fixes #29.