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