Re #8360. Add valgrind suppression file for Geometry unit tests.

OpenCascade uses some kind of custom memory allocator (see for example
http://opencascade.blogspot.com/2011/06/is-my-memory-leaking-part2.html)
that doesn't play nicely with valgrind. I don't think that there's a real
leak here, so we want to squash the complaints.
Re #8360. Make sure that the logging framework is shut down.

This line ensures that the logging framework is fully shut down and all
objects cleaned up after the unit tests have run. Removes a lot of
(somewhat spurious) reported memory leaks.
Re #8360. Use an std::vector rather than a C array.

Doesn't leak like the old way did as it wasn't being cleaned up at all.
I'd be surprised if there's any significant impact on performance.
Re #8360. Be exception-safe.

Previously, the Plane objects would be leaked if setPlane threw an
exception.
Re #8360. Suppress reported leaks from SurfaceFactory.

I don't think that these are really leaks, it's just that they are owned
by the static SurfaceFactory instance.