Fix #122

- the conj_ function was not written properly
  (T is a ref, the trait is_complex was not returning true).
- a simpler version is clearly better !
Fix #122 : correction : forgot inline
[arrays] Simplify group_indices

 - Only for C ordered, remove complex compile time.
 - Much simpler.
 - Could be generalized to non C ordered, but do not compute
   traversal_order any more. No need.
Implement mpi lib (1). Array, generic, base, vector

- Implement the basic structure of the mpi lib
  and specialization for arrays, basic types, std::vector
- adapted the array class for the lazy mpi mechanism
- pass tests on arrays :
   - scatter, gather on array<long,2> array<complex,2>, etc...
   - broadcast
- several files for readibility
- the std::vector coded but not tested.
- generic mecanism implemented and tested (mpi_generic test)
- added several tests for the mpi lib.
- TODO : more tests, doc...
fix mpi/vector, added test
added first draft of MPI documentation
mpi for the gf

- done Matsubara freq for testing and rereading.
- TODO: generalize to other meshes.
- draft for multi var gf
[gf] Singularity as an explicit template parameter

- change the underlying data : do not flatten the linear indices of the
  mesh into a single index, keep a higher dim array.
- easier for various places, and necessary for g(nu,nu').
- work on several 2 part. containers.
- add default target (may not be always matrix_valued)
saving draft
[arrays] rm TraversalOrder, Opt.

- Rm TraversalOrder, Opt according to meeting's decision.
- Fix slice for custom orders.
- Remove the options at compile time.
- Fix doc.
[arrays] group_indices for custom mem. order

- generalize the group_indices for the custom order.
[arrays] add c_ordered_transposed_view
[gfs] Add memory layout option
A few parts of the lib only in C++14 mode

- multivariable gf
- some part of tuple tools.
- modified tests
gcc compilation detail