Many environments are associated with a package; this function attempts to determine that package.
The environment whose name we seek.
env would be associated with a package if
topenv(env) is the namespace environment for that
package. Thus when
env is the environment associated with
functions inside a package, or local functions defined within them,
packageName will normally return the package name.
Not all environments are associated with a package: for example,
the global environment, or the evaluation frames of functions defined
packageName will return
NULL in these cases.
A length one character vector containing the name of the package,
NULL if there is no name.
getPackageName is a more elaborate function
that can construct a name if none is found.