Fix #21

- change has_h5_read implementation, with a simpler pointer cast
  that gcc now accepts.
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).
remove workaround for icc 13.0

- deprecated....
- remove the TRIQS_WORKAROUND_INTEL_COMPILER_BUGS macro
arrays: clean inverse

- does not use view
- determinant not lazy any more
add clang-format file ...
[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

- clean resize in operator =

- 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 ?

- 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

- 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.

- 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.

- clef expression call with rvalue for *this
- generalize matrix_proxy to tensor and clean
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).
gf: clean draft of gf 2 times

- also comment the python interface for the moment.
- rm useless tests
gf: Fix out of bound in linear mesh in gf eval.

- When reaching the last point of the grid,
move one step back and set w =1.
- fix the gf_2times but and related issues.
clean the TRIQS_COMPILER macros

- from now on, C++11 compilers only.
- no ressources to maintain old stuff.
gf: Work on documentation
remove c++11 tests
const_view : in progress