recursively expands ${VARIABLES} within the value (w/o refactor)

My editor ate trailing spaces, but it should be clean enough.  Fixes #39.
is there a source to this? any way to document to make it easier to understand? very intimidating to maintain