Improved container::sequential value/references

- Reworked reference types, fixes #44
  - the old reference types could not hold references to value types (only to
    container elements).
  - now the reference type contains reference data members which are set to
    either point to members of a value type or to an element of a container
    depending on which constructor is triggered.
  - however, it is still problematic to point to arrays, because they exist in
    row-order inside a value type but the order inside a container can be either
    row/or column major. For now, in case that the reference points to a
    container element, access is performed via container functions. In this case
    the array references are set to be "null" references which is UB.
- added extra unit-tests for values and references
- sequential::container unit-tests now pass with ASan
- most of the sequential::container satisfies the style guide
- added a misc/test.hpp header which encapsulets googletest and add some extra
  usefull macros.
- removed some unused grid files
- improved the inclusion of boost::algorithms into hom3::algorithm