cpp: use struct in hashers instead of class

- clang doesn't like the mismatch between standard header
  libraries (which use struct) and our code (which uses class).
diagrams: do not add formatters to codegen target
regenerate models with latest dogen

pickup the struct / class changes in hashing
cpp: use struct in hashers instead of class - missed headers

- clang doesn't like the mismatch between standard header
  libraries (which use struct) and our code (which uses class).
regenerate models with latest dogen - missed headers

pickup the struct / class changes in hashing
cmake: give up and disable mismatched tags for clang

It seems its just not possible to make clang happy; some STL headers
of gcc use both struct and class when defining and forward declaring
hash. We'll leave the fixes in as it seems struct is the expected
approach, but disable this warning.

Similar problems are reported here:

https://bugzilla.mozilla.org/show_bug.cgi?id=780474
number of fixes to get clang build green

- instead of using "stand-alone" dynamic cast in tests we now create a
  variable around it
- comment out helper functions where the test itself has been
  commented out