add tentative support for variable interpolation

specifically in the datadir
use dotenv to store config vars
generalized datadir interpolation

to support using any fact and not just environment