clef. Clean evaluator when producing temporaries...

- When evaluation produces temporaries in intermediate
steps, they were capture by ref, not properly forwarded.
This results in bugs in more complex cases,
like evaluation of objects returning new arrays expression template.
(preparation for next commit).
arrays. Clean expression templates

- clean array, matrix, vector expression template
  they take const & of objects, or move && objects
  no more views. -> C++11 modernisation
- Fix a bug in array resize : it was resetting the indexmap
  to C memory layout e.g. for a fortran array
- Fix a bug in read h5 array when not in C order
  (forgot an else, the array was read twice).
[API change] gf : factories -> constructors

- Make more general constructors for the gf.
  gf( mesh, target_shape_t)
- remove the old make_gf for the basic gf.
- 2 var non generic gf removed.
- clean evaluator
- add tensor_valued
- add a simple vertex test.
- clean specialisation
- Fix bug introduced in 1906dc3
- forgot to resize the gf in new version of operator =
- Fix make_singularity in gf.hpp
gf: Work on documentation
gf: clean resize in operator =
gf: update h5 read/write for block gf

- changed a bit the general trait to save *all* the gf.
- allows a more general specialization, then a correct for blocks

- NOT FINISHED : need to save the block indice for python.
  How to reread ?
  Currently it read the blocks names and reconstitute the mesh from it.
  Is it sufficient ?
gf: clean block constructors

- block constructors simplest possible : an int for the number of blocks
- rest in free factories.
- fixed the generic constructor from GfType for the regular type :
only enable iif GfType is ImmutableGreenFunction
gf: multivar. fix linear index in C, and h5 format

- linear index now correctly flatten in C mode
(was in fortran mode), using a simple reverse of the tuple in the folding.
- fix the h5 read write of the multivar fonctions
  in order to write an array on dimension # variables + dim_target
  i.e. without flattening the indices of the meshes.
  Easier for later data analysis, e.g. in Python.
gf: merge matrix/tensor_valued. improve factories

- matrix_valued now = tensor_valued<2>
 (simplifies generic code for h5).
- factories_one_var -> factories : this is the generic case ...
  only a few specialization, code is simpler.
clean exception catch in tests

- exception catching catch in need in test
because the silly OS X does not print anything, just "exception occurred".
Very convenient for the developer...
- BUT, one MUST add return 1, or the make test
will *pass* !!
- --> systematically replace the catch by a macro TRIQS_CATCH_AND_ABORT
 which return a non zero error code.
- exception : curry_and_fourier which does not work at this stage
(mesh incompatible).
in progress....

not finished.