LOGBACK-943 Support an unlimited number of nested variables in config file

[LOGBACK-943](http://jira.qos.ch/browse/LOGBACK-943)

Logback was limited to only doing variable substitution one level deep:
```
FOO=foo
FOOBAR=${foo}bar
RESULT=${FOOBAR}.log
```
However, it did not allow for any more than one level of substitution:
```
FOO=foo
FOOBAR=${foo}bar
RESULT=${FOOBAR}.log
FINAL_RESULT=logs/${RESULT}
```

This pull request allows for unlimited nesting. Possibly there is some reason why it was limited to only one level deep, but I don't know of one.