Move code to what will become the ewald module

Moved PME implementation, PME load-balancing code and basic Ewald code
into new module.  PME is the major component, but they share a little
bit of infrastructure and might one day pass the same tests (or test
each other) so there's some value to being together.

Moved legacyheaders/pme.h to module, split it into pme.h and
pme-internal.h, and moved the definition of splinevec into the only
source file that used it. pme-internal.h is intended as a temporary
measure - a place to put details that are internal to the module -
while developing some internal structure with more normal
module/file.{cpp,h} layout.

Moved legacyheaders/coulomb.h to the new module and named it
ewald/ewald-util.h, since it pretty much declares functions defined in
the former ewald-util.c (now ewald/ewald-util.c). Both files will
disappear in future clean up, though.

The internal structure of this module is still messy, but some
clean-up will follow. Then C++ conversion and Doxygen.

Renamed files to use '-' rather than '_', because I like using fewer
keystrokes.

Removed a useless extern on calc_ewaldcoeff_lj() declaration.

Introduced new cyclic dependency (and doc-check suppression) on mdlib,
because the PME-PP load-balancing needs to let mdlib/nbnxn_cuda know
about the changed parameters. It also uses some functions that are
currently declared in pme-internal.h, so there's no single-step
solution, even if nxn was already a module. In the long term, a PME
load-balancing module that talks to the ewald and nxn modules through
their library interfaces makes good sense, but we can't do that right
now.

Change-Id: I6ddd5579b6e52812d8fb110b4950a207b159ea4a