[gfs] Opt->Evaluator.  Rework evaluator for multivar gf

- fix on_mesh :
   method can be called with mesh_point
   on_mesh wrapper class can be called with lazy arguments.

- add make_regular function to fix sum
  - make_regular (x) -> return a regular copy, forcing the evaluation of expression templates.
  - TODO : do it for array_expr, gf_expr

- mesh product: index_t as a class
  to permit construction from a tuple of mesh points to components

- Opt -> Evaluator
  - Opt template param is replace by Evaluator
  - Evaluator : default is void, (default evaluator as before)
  - allows to add a custom evaluator (cf new test sym3).

- Change evaluator concept
  - Now evaluator must have one constructor taking (G* g)
    with the gf, given at construction.
  - Allow to prepare some data.
  - E.g. sym3
[gfs] Test mpi for multivar gf.

TODO : more test.