working on set! should env be a list or a vector?
was still passing a list in the test instead of a vector
back to lookup-variable-value and set! as separate
replace-first
no helper function to set-variable-value,

so that set-variable value throws an error when `set!` can't find the
variable to set

and, use Clojure's reader to get a data structure with symbols in it, no
need to mess with keywords.
was iterating over all env instead of (rest env)