* Initial work on flag trapping using functions called <flag>_handler and default_flag_handler
* Update packages so they do not obliterate flags
* Added append to EnvironmentModifications class
* changed EnvironmentModifications to have append_flags method
* changed flag_val to be a tuple
* Increased test coverage
* added documentation of flag handling
* espresso: fixed compilation for 6.1 (elpa) and added support for hdf5
* espresso: addressed items in @davydden review
* espresso: fixed behavior for espresso@:5.4.0
* libint: updated version, ported to AutotoolsPackage
* elpa: updated version, ported to AutotoolsPackage
* wannier90: updated version, ported to MakefilePackage
* pexsi: updated version, ported to MakefilePackage
* cp2k: updated version, removed wannier 90 from dependencies if cp2k@4.1
* plumed: updated version
Modifications:
* modules has been turned into a single variant, as different versions
have different modules available
* added dictionaries for patches
* netlib-scalapack: ported to CMakePackage
- Added a new interface for Specs to pass build information
- Calls forwarded from Spec to Package are now explicit
- Added descriptor within Spec to manage forwarding
- Added state in Spec to maintain query information
- Modified a few packages (the one involved in spack install pexsi) to showcase changes
- This uses an object wrapper to `spec` to implement the `libs` sub-calls.
- wrapper is returned from `__getitem__` only if spec is concrete
- allows packagers to access build information easily