update poisson_psolver_oct to allow for both the old and new API
This is the second step of issue #277.
Update poisson_psolver (previously poisson_libisf) to support the old (PSOLVER <= 1.7) and the new (PSOLVER >= 1.8) API. Nicola's branch !745 (closed) already includes changes for the new API, but dropped the old one.
We should combine this with the old version, controlled by preprocessor directives (HAVE_PSOLVER_1.7 and HAVE_PSOLVER_1.8).
NOTE: in order to keep the buildbot unchanged, we still use HAVE_LIBISF to denote PSolver version 1.7. This will be changed at the last MR.
The new PSolver API requires intent(inout) for the H_potential call. In order to confine this, we need to redefine the interface for that function and fool the compiler. (Our use of H_potential should NOT change the coulomb_operator object).