Added more documentation, also moved all engine code into gridfire::engine namespace to be more in line with other parts of teh code base
Now all GridFire exceptions are derived from the base GridFireError, this allows for more clean handling of various exception cases