Fix mid-string environment variable substitution

This change fixes the case where environment substitution did not happen
in the middle of string parameters. For example:

parameter = "sometext/${ENVVAR}"

In this case, ${ENVVAR} was not expanded since the flex rule to match the
whole string took precedence over the flex rule to perform environment
variable substitution. Flex chooses longer matches over shorter matches.
The fix is to modify the normal character matching rule to match one
character at a time.

A unit test was added to verify the fix and check that it didn't break
other string or environment processing.

Signed-off-by: Frank Hunleth <fhunleth@troodon-software.com>