make it simpler to customize `-run`

-run now takes a map of options. This is prep for search
 customization. Remove `*reify-vars*` dynamic var, it's now passed
 along as an option to `-run` option map. fix the other run macros to
 account for the new interface.

unlike occurs-check flag, we just check whether we need to reify
vars via checking for the :reify-vars flag in the meta field of the
Substitution. This is fine since we only check this at the end, not
all the time as we do w/ occurs-check.

change simple unifier code to always run with :reify-vars set to false
as that's rarely ever the desired behavior.

in `binding-map*` filter out vars that don't point to anything.

Update the tests to account for these changes.