Updated code.
Put the test suite test case before the individual test cases that are done within a test suite.

GTestSuite::run starts with creating a test case that collects the total time spent in a test and that also collects any failures of the individual test cases. Before, this test case was appended AFTER running the individual test cases, which led to an XML file out of order. Now the general test case is appended BEFORE running the test cases.
Track results of Python unit tests (#1119)

The results of the Python unit test were not correctly tracked due to some subtle problems related to the way how C++ code is called through the Python interface. A kluge has been found and added to GTestSuite.i to retrieve the Python test results and to propagate them to the C++ test suite, so now Python test results are also written into the XML file, and the Python tests signal failure in case that something goes wrong.
Add mc() method to abstract GCTAEdisp interface
ADD GRan::normal function
Add GEbounds single energy band constructor
Add gauss68containment2sigma constant to GMath
GModelSpectralGauss::mc calls GRan::normal now
Replace hardcoded value with constant in GCTAPsfPerfTable.cpp
Add GCTAEdispPerfTable class (isse #1105)
Update docstrings for GCTAEdispPerfTable
Add python unit test for GCTAEdispPerfTable
Change GResponse::has_edisp() to GResponse::use_edisp().

This change was prompted by the addition of the ctobssim option
to apply energy dispersion. Even if an instrument has an energy
dispersion, it is useful to be able to apply it or not.

So the meaning now is roughly this:
use_edisp = (has_edisp && apply_edisp)
although the apply_edisp flag has so far been only added to
GCTAResponse, use_edisp = False.

GResponse::has_tdisp() was also renamed to GResponse::use_tdisp()
for consistency.
Add load_edisp to GCTAResponse