Support libstdc++

On Mac OSX when compiling with CUDA support we must use libstdc++
and so we can't use std::Array, std::function and various other
std:: improvements in the c++ lib.
Support boost (header only) versions of these where possible.
First Catalyst support, pass particles into a vtkPolyData and test writing to disk.
Add export of field arrays to the particle dataset in catalyst
Move common tools files into separeate lib dir

Save duplication of snapserve and catalyst files by creating
a common dir and moving a bunch of files in there.

Add tools/CMakeLists so we can build catalyst and snapserve in one pass
with a single cmake build.

Fix a couple of std:: problems when we need to link with stdlibc++
fixed snapserve compilation
fix merge