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.