Use of globals()
There are a handful of places where `globals()` is used that causes confusion for at least one reader.  Are these really necessary?

```Searching 891 files for "globals\(\)" (regex, case sensitive)

pandas/core/dtypes/missing.py:
  118:         globals()['_isna'] = _isna_old
  120:         globals()['_isna'] = _isna_new

pandas/io/packers.py:
  562:         return globals()[obj[u'klass']](data, dtype=dtype, name=obj[u'name'])
  564:         return globals()[obj[u'klass']](obj[u'start'],
  573:         return globals()[obj[u'klass']].from_tuples(data, names=obj[u'names'])
  577:         return globals()[obj[u'klass']]._from_ordinals(data, **d)
  581:         result = globals()[obj[u'klass']](data, **d)
  590:         from_codes = globals()[obj[u'klass']].from_codes
  600:         result = globals()[obj[u'klass']](unconvert(obj[u'data'], dtype,
  627:         return globals()[obj[u'klass']](BlockManager(blocks, axes))
  656:         return globals()[obj[u'klass']](obj[u'length'], obj[u'blocs'],
  659:         return globals()[obj[u'klass']](obj[u'length'], obj[u'indices'])

pandas/io/pytables.py:
 1246:                 return globals()[_STORER_MAP[pt]](self, group, **kwargs)
 1287:             return globals()[_TABLE_MAP[tt]](self, group, **kwargs)

pandas/tests/computation/test_eval.py:
 1767:         gbls = globals().copy()
 1769:         gbls2 = globals().copy()

pandas/tests/io/test_packers.py:
  644:         compress_module = globals()[compress]

pandas/tests/io/test_pickle.py:
   74:     m = globals()

22 matches across 7 files
```

In particular, I'm still trying to sort out what's going on in `test_pickle`.  pytest already performs some magic with namespaces that has a non-trivial learning curve.  That plus globals is no fun for newcomers.
