Use variables in feature steps for readability

Rewrote the feature step so that it displays the actual command being
run, and uses variable substitution.

* I had to modify the definition of the "file should exist" step to
  allow variable substitution. All of the existing tests still pass, but
  I'm not sure if this is best practice. I can write a new step instead,
  if that makes more sense.