Fix bug in building regular type from python

- the flag is really enforce_copy and should force a copy
- for a view : it is false, no change
- for a regular type : it is true, and now this will enforce the
  copy in the call of numpy. numpy does it for us.
- The problematic case was when we construct a regular type
  from a complicated view in python, which is an array
  but is not C contiguous.
  (hence the PyArray_Check was false, and the C_Contiguous flag was not set)
  Now it is fine, since we ask numpy to systematically copy the data for us
  and build a C contigous array.
  --> the constructor from python does not support custom memory layout
  because numpy only support C and Fortran

Conflicts:

	triqs/arrays/impl/indexmap_storage_pair.hpp
doc : install
doc exceptions
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
[gfs] modif simple
[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
[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.
[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
Cleaning
[arrays] improve slice, special for ellipsis
[arrays] Back some TraversalOrder

- Tests show that it is necessary to have it at compile time.
- Put this flag back, simplified.