Rewritten kd_observationOp

Lots of modification, modified also pyKdV in
consequence.
... I'm not sure where I'm going...
One integrated data ass. class (no bkg for now)
Observation class first draft
Observation library (class and functions)
temporary commit (in the middle of something...)
Generic JTerm master class

The JTerm class define an empty cost function
term.  Sub classes defined can be added together
and minimized as a sum.  This permits a very
wide variety of terms and constraints for the
data assimilation procedure.
Added scaling method to JTerm (__mul__)
Static obs JTerm
Dynamic obs JTerm
Eradicating old dirty code!  Everything will be J!
forgot two files to DESTROY!
JTerm for dynamic obs with preconditionning

There is still the issue that the gradient
test seems to indicate only float32 precision.
It would mean an implicit conversion somewhere
down the chain....
In the Fortran/Python interface (for pyKdV
tries)?
In scipy.optimize.fmin_bfgs?

So till now PrecondJTWObsJTerm does not work very
well, I think it's due to that.
Minimal __init__()
...  what exactly?  little things here and there

Oh! and the 'loss of precision' in the gradTest
seem more to be related to the state thant the
algorithm.  I should trace cost function:
    J(x+eps*gradJ) for esp in [-1, 1]
Merge branch 'jTerms'