Add instrumentation for floating-point exceptions
Description
Trap floating-point exceptions in parts of the code. Example:
Debug = instrument
%InstrumentFunctions
  "electrons/eigensolver.F90.eigensolver_run" | fenv
%
Basically equivalent to recompiling with -ffpe-trap=zero,invalid,overflow,underflow, but switchable at runtime and selective on a per-function basis.
Checklist
- 
I have checked that my code follows the Octopus coding standards  - 
I have added tests for all the new features added in this request.  
Edited  by Henri Menke