improve h5 support & parameters for non-h5 rw types

- introduce make_h5_read/write that make a lambda
to read/write :

 - for types for which h5_read/h5_write is declared use it.
 - otherwise : fall back to boost::serialization into a string + a tag
   to indicate the type.

- this tag (= HDF5_Scheme) is needed for the second kind of type to
be able to reread the parameters dict, in case of an opaque object.

-> generalized HDF5_Scheme, including for array<T,N> for any T.

- test added with std::map<...> and array<array<int,2>,1>

- changed triqs::(un)serialize to produce a TEXT string (or there are pb in
  the hdf5 writing).