add support for CUDA-enabled toolchains

This PR includes:

* modifications to the existing toolchain support to allow having co-compilers in a compiler toolchain (by using a prefix)
 * make fetching of `COMPILER_*` and `LIB_*` constants prefix-aware
 * make `_set_compiler_toolchainoptions`, `_set_compiler_vars` and `comp_family` methods prefix-aware
 * add support for updating compiler variables after they've all been set
 * add support for templated list values in `option_map`
* add support for using a CUDA (co-)compiler in a compiler toolchain
 * and extend list of known compiler variable constant with `CUDA_*` elements
* add definitions of the `gcccuda` and `goolfc` compiler toolchains
* extend unit tests and add required test modules for these tests