Add src/pv.[ch]pp providing interfaces to Passarino-Veltman functions

If LoopTools is in use, call ltini() before the first call, as
documented in the manual.

(cherry picked from commit 14fc386564c660e085a7b82cc058e18ccf955d07)

Conflicts:
	src/module.mk
src/cextensions.hpp: check for gcc to define function attribute macro

(cherry picked from commit 036cb8886b3e7b9398b2e8d601c72db296664972)

Conflicts:
	templates/lattice_model.hpp.in
src/pv.cpp: call ltini() from constructor of an anonymous global object

(cherry picked from commit 91dff54c87391c2299195d002d447294c0866c3b)
Introduce fflite module that compute loop functions

The fflite module is a subset of the FF library that is adapted to and
distributed as part of LoopTools 2.8.  The purpose to extract this
subset from LoopTools was to have thread-safe loop function routines
that accept complex (and therefore also negative) mass^2 arguments.
Calls to fflite subroutines bypass the internal cache of LoopTools.
It is unclear whether this would lead to a performance gain or loss.

(cherry picked from commit 0a49050556bd8f67d27cd3e95a9ad0d8ce2a5238)

Conflicts:
	config/Makefile.in
	configure
src/pv.[ch]pp: add complex -> complex loop functions

Loop functions accepting complex mass^2 arguments become available if
LoopTools or fflite is in use.

Declare const or pure function attributes to advise gcc that there is a
possibility to omit redundant function calls.

(cherry picked from commit 53b014670b8c001bcdcee99e6575960b1e3bc7f2)
Link executables against libfflite if it is selected

(cherry picked from commit 07757c5cc71caaf535b7ba6fb43d7b8e1cb9b472)
Clean up configuration of fflite

ENABLE_FFLITE must be set before fflite is added to MODULES.

(cherry picked from commit 5cced817da561989c0388cd435537fac1feafa85)

Conflicts:
	config/Makefile.in
	configure
fflite: sync to LoopTools 2.10

(cherry picked from commit 3697d1590f829971134751726816912aa39692a9)
fflite: restore documentation of arguments from original ff

(cherry picked from commit 9663997cc99ce5ffb10ef3c92a1cc217e20d3e2d)
fflite: rename ffthre.F to ffcc0.F as in LoopTools

(cherry picked from commit 0f3c59bc17f5e5a2637a6dc0c55226030fdeca52)
configure: adapt ENABLE_FFLITE to new macro definition scheme
Combine LOOPTOOLSLIBS and LIBFFLITE to LOOPFUNCLIBS

LOOPFUNCLIBS is a recursively expanded variable that is expanded
after fflite/module.mk sets $(LIBFFLITE).
Call loop functions from pv.hpp abstraction layer
src/pv.hpp: add complex -> complex versions of B22, F0, G0, H0
do not hard-code the number of loops in the initial guesser
test/test_linalg2.cpp: rewrite in terms of test case templates
src/pv.cpp: evaluate B functions using Denner's implementation

At version 2.8, LoopTools switched the default B function implementation
from FF to Ansgar Denner's.  This commit follows this change.  One might
ask Thomas Hahn why.
Add loop function cross-checks among fflite, LoopTools, and softsusy

To run this test, do the following:

$ ./configure --enable-looptools --with-looptools-incdir=/path/to/LoopTools/incdir --with-looptools-libdir=/path/to/LoopTools/libdir
$ make
$ make all-test
$ make execute-tests
configure: warn about thread-unsafety of LoopTools
Merge branch 'feature-fflite' into development