Somewhat stable C++ classes

Tagging after bugfixes and some changes made directly in develop because
they were quite straightforward.

At the moment, it looks like the `direct_numerical_simulation` class is
quite mature, and we could, in principle, think about generating any sort
of pseudo-spectral DNS as a child of it.

I don't expect to make important changes to the prototype of
`direct_numerical_simulation` in the future.
This tag has no release notes.