Add GContainer interface class.

The GContainer interface class defines the names of all methods that shall be implemented for all container classes.
Add argument name to invalid_argument exception.
Review GEbounds interface.

GEbounds now derives from GContainer and implements all required methods. In addition, an energy interval constructor has been added that allows one line construction of logarithmically or linearly spaced energy boundaries.

Public interface changes:
- setlin, setlog: put the number argument first
- emin, emax, emean, elogmean: pass index by reference
Use new GEbounds constructor.
Add energy constructor.
Clear energy attributes if no element exists in energy boundaries.
Add extend method.

The extend method allows to append energy boundaries to the object.
Implement GEbounds unit tests.
Add GCointainer class and start code review.

Closes action #768 and feature #638. Features #35 and #692 have been started by reviewing the GEbounds interface.
Add add method.

The add method inserts energy intervals by merging with any existing intervals.
GGti class now derives from GContainer.

Use GContainer as the base class and implement all required methods.
Update documentation.
Add unit test of GGti class.
Review public GGti interface.
Correct formula in documentation.
Correct documentation error.
Update documentation.
Rename add() method to merge() and improve documentation.

The add() method has been renamed to merge() to make clear that this method performs a merging of intervals.

The Doxygen documentation has been improved, syntax errors have been corrected, and the language usage is more concise.
Make GOptimizerPars class abstract.

For some reason, the GOptimizerPars class was not abstract although it should be an abstract class. The code has been modified to make the class now abstract.
Update documentation.