Task #2045: API design and language bindings
Infrastructure and patterns for expressing public interfaces
This issue can serve as the beginning of a roadmap for how GROMACS 2021 will handle API docs, installed headers, and modular expression of interfaces available in a GROMACS installation.
Move sources for libgmxapi.
Sources in src/api/cpp exclusively supported the public libgmxapi
interface whose headers now live in api/include/gmxapi. The sources are
not coupled to anything in src/gromacs or src, and have been moved to
api/cpp/gmxapi to better enforce this decoupling.
Currently, the unit tests for this code still rely on infrastructure in
src/ and cannot yet be moved.