Merging various versions of building Tetras from TetraMesh/Layered geometry
As of now, every accelerator will require its own version of TetrasFromTetraMesh and TetrasFromLayered (assuming they use a different 'Tetra' representation). 99% of the code in this converters is identical except for the creation of the actual Tetra. It would be nice to abstract this in a way that we could have only one converter that can make multiple Tetra versions (CUDA::, FPGACL::, x86::, etc). My initial thought was to template TetrasFromTetraMesh and TetrasFromLayered but I am not 100% sure. NOTE: Due to the AOC compiler I CANNOT have a constructor for my FPGACL::Tetra, so if we could avoid using constructors and cannot inherit from a base class :(.