[gfs] add << operator for gfs

kept <<= for backward compatibility
TODO: clean doc and examples, possibly add deprecation warning
Modify det_manip to access determinant x_values and y_values
include map and fold headers into array.hpp
Revert "include map and fold headers into array.hpp"

This is not the right place for include...

This reverts commit 63fd1b8b2d91261a4fad1f8762d54f1a7eef5330.
[arrays] More include by default
Clean up _gf_common.py -- removed duplicated python functions
Determining delta from gf (currently only BlockGf and GfImFreq)
Changed all literalincludes --> runblock / triqs_example

This is to avoid keeping code snippets that do not work in the doc. At least there will be an error message.
put back literalinclude instead of triqs_example for c++
Restructuring documentation.

A first general restructuration of the doc according to the pattern [tour|tutorial|reference].
In the reference part, objects are documented per topic.
In each topic, [definition|c++|python|hdf5] (not yet implemented)
Clean old boost and old mc_tools code (v1)
[cmake] Test log compare command ready to copy-paste.

- remove the ; !
[doc] install and 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...
[mpi] vector, test and draft of doc
[mpi] draft of gf support

- done Matsubara freq for testing and rereading.
- TODO: generalize to other meshes.
- draft for multi var gf
[gfs] 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)
[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