Add ObservationCubic to support volumetric observatories
It would be good to have a ObservationCubic that works similar to the existing ObservationPlane.
The ObservationCubic can store particles arriving at the Cubic surface in a output file. And then, user can send those particles to further detector simulations.