added undefenv(f)
defenv(f) raises error when called without :redefine and environment
  exists
setenv(f) raises error when environment doesn't exist
clear now has correct undo-label
updated packages
updated tests
updated functions/macros list