Optional Compilation of non-mandatory parts
Summary:
Several parts were always compiled, even when they were not needed:
- The documentation target is now optional and allows to compile on systems that don't have sphinx and breathe
- All MPI parallel parts of the code are now opt-in
- Test and examples are now opt out
Now, it is possible to just compile the library, without anything around it, if so desired.
Test Plan: unit tests pass
Reviewers: pastewka
Differential Revision: https://c4science.ch/D180