Rename inconsistent function and type names

By convention:

  • Types do not have "env" or "object`" or whatever in them.
  • The primary function to free a foo is called foo_free(), not foo_free_env().
  • The primary function that allocates and returns a newly allocated foo is called foo_new(), not foo_create() or foo_new_env().

We violate these rules, though, with a fair number of longstanding types and identifiers. How annoying! Let's fix that.

This will make some pending unmerged code get merge conflicts or need rewrites, but now that we're moving towards the end of the 0.2.3.x release cycle, it's the perfect time to do that.