Allow to give a callable as a default value.
We call it only if the user didn't provide a value.
Do not trigger the call to callable default value when we create the config value.

We want to have it evaluated only if the config value get used. Otherwise, this will trigger compilation at import time for a following commit.
Have the config blas.ldflags default value evaluated only if needed.
Fix crash when the config value wasn't evaluated.
Don't access directly the .val value direction of config value as they are not lazyly evaluated.
Merge pull request #1232 from nouiz/lazy_config_default_value

Lazy config default value
Add method to check if some flags work with g++
Use that mechanism to check if "-lblas" works

before returning it as default value
Do not try to execute g++ if config.cxx is empty