Fix #112 and put back g +=/-= matrix for imfreq

- The issue comes from the fact that the default generated
  += and co by the Python API is the one for immutable types, like int.
- Indeed, in python, for an int :
  x=1
  id(x)
  140266967205832
  x+=1
  id(x)
  140266967205808
- For a mutable type, like a gf, it is necessary to
  add explicitly the xxx_inplace_add functions.
- Added :
   - the generation of the inplace_xxx functions
   - a method in class_ in the wrapper generator that
     deduce all += operator from the + operators.
   - this assumes that the +=, ... are defined in C++.
   - The generation of such operators are optional, with option
     with_inplace_operators in the arithmetic flag.
- Also, added the overload g += M and g -= M for
  g : GfImfreq, M a complex matrix.
  Mainly for legacy Python codes.
Revert "Issue #112 again..."

This reverts commit 43eeaa5e1bb71d83223831f16a7709203f56bc4f.
Revert "workaround for iadd, isub, imul, idiv"

This reverts commit 898f7376b04296bb148305a6f75ca2d8d478ad28.
Revert "A workaround for issue #112"

This reverts commit d33787e4b00aa141d63c3a07fb4ac13ec998182c.
Merge branch '1.2-dev' of github.com:TRIQS/triqs into 1.2-dev
Revert "sumk_discrete: workaround for issue #115"

This reverts commit 49ad7b23f0ace60d846ec56a9dfd5e2f7cd96980.