Add GContainer base class where needed.
Replace pop() method by remove() method.

The container class method name pop() was changed to remove() to be complatible with the Python syntax for lists.
Add some information about container class implementations.
Improve documentation.
Remove observation iterator.

The observation iterator has been removed as there is no real need for having this. A classical index looping over the observation access operator is sufficient.
Remove observation iterator tests.

The observation iteratior has been removed from the GObservations class as it does not appear very useful. The correspondings tests had also to be removed.
Adapt to new GObservations interface.

The reference returned by the GObservations::models() method is now declared const. The unit tests had to be slightly adapted to accomodate this interface change.
Derive from GContainer class and review the class interface.

GObservations now derives from the GContainer interface class. Methods have been implemented to manipulate observations, which can now be inserted and removed as needed.

Two interface changes have been made: the observation is now passed as const in the append() method, and the reference returned by the models() method is declared const.

A instance of GObservations::optimizer has now been added as member m_fct to the class, so each GObservations class has a permanent optimizer function instantiated. This allows direct access of optimizer function information, which has been implemented by the function() method.
The value() method now returns a value instead of a pointer.
The value() method now returns a value instead of a pointer.
Remove optimization operators and introduce optimize method.

The optimization operators have been removed and been replaced by the optimize() method. This method does not return any argument. Instead, it directly manipulates the parameters that are passed as arguments.
Remove optimization operators and introduce optimize method.

Adapt the class to the new GOptimizer interface. Return a bunch of members now by const reference, and also use const reference as arguents in the propected iteration(), errors() and step_size() methods.
Add changes in GObservations, GOptimizerFunction, GOptimizer and GOptimizerLM.
GModels access operator now returns reference instead of pointer.

The GModels model access operator[] now returns a reference instead of a pointer. This needed a couple of minor adjustments of the code.