Subshells

Support for subshells, e.g. `:echo "In $(!pwd)"`

The current parser rules don't support nesting, which might be a blocker (see #198), but I wanted to open a PR with this before it got too huge.

(Specs pass locally, Travis is suffering from the usual Readline segfault shenanigans)
Looks like I should call `super`, and also return `self`. Good catch, thanks.