Fix regression regarding $eval

In order to be useful $eval needs to evaluate the given string twice,
for example: `${eval $${downspeedf ${gw_iface}}}` should first yield
e.g. '${downspeedf eth0}', then the second evaluation yields the desired
result.
Commit 2fa5f97edbc2c77833bdef3ba0ac5663d5eb25d6 refactored some parsing bits
into the evaluate function, but this caused $eval to call
parse_conky_vars only once.