Command substitution

Implementation of command substitution.

If you look closely, you'll see that `...` and $(...) are implemented somewhat differently. The main issue is how the construct is delimited. In the `...`, but simple lexing, whereas in the $(...) case it is a full parse. I'm not really sure which way is more correct, and while I'd like thiese to converge, for now both pathways are in the code.