Use cellvars instead of varnames.

Basically, the difference:

  1. The code is now easier to compile, as it does not require replacing _FAST instructions with _DEREF ones.
  2. If Python is compiled without computed gotos, variable access may be a little bit slower due to instruction overhead. (*_DEREF only require one more dereferencing than *_FAST, but *_DEREF opcodes end in DISPATCH() while *_FAST opcodes end in FAST_DISPATCH(), which skips some stuff.)
  3. CPython has a slightly faster method for calling global functions and methods that only have positional arguments with no default values and don't use non-local variables/create closures. While many functions don't fit under this description, calling the ones that do may be slower. (Up to 2x slower if your function is useless^W simple enough, which means `x -> x`.)
Merge branch 'master' into no-varnames
Merge branch 'no-varnames'
Rename `tag` to `PY_TAG`.
Move PY_VERSION out of `core`.
Remove an unused import.
Only intern names in the Generator, not Parser.

Also, slightly reduce the number of function calls.
Run PyCode_Opimize on the resulting code objects.

Also, treat True/False/None/otherwise as constants rather than globals.
Move optimization branch of `frozen` upward.
Revert "Move optimization branch of `frozen` upward."

This reverts commit 9a782695a6becfb108fbe6d92bc81114c7a1074e.
Merge branch 'master' into python-32

Conflicts:
	__init__.py
	bundles/cpython-33.dgbundle
	bundles/cpython-34.dgbundle