Generate variable names based on content

Generate variable names in new_const_cname() based on content of the variable
rather than using a counter straight away.
Implementing module name parsing with os.path.
Fixed IndexNode.is_lvalue

In C/C++, almost all index operator expressions return lvalues. We now
allow anything that doesn't look like it resolves to assigning to a
whole array object to be considered an lvalue.

Before this commit, using the index operator on containers that return
references would crash the Cython compiler.  run/tests/lvalue_refs.pyx
contains an example of code that previously crashed the compiler.

Author: Gerald Dalley
--dbg-outdir option: specify gdb output location (default os.curdir())
Share common type object for Cython functions.
fix grammar/typo in build docs

There was a word missing.

--HG--
extra : transplant_source : %B2%3E%E6%8CF%00%89%0E%AF%3A%C2%40%1E%D9%A7%E7S%E67A
Set correct baseclass for heap allocated type subclasses.

--HG--
extra : transplant_source : E%BEhL%948%C1%07%EC%BDx%7C%7E%C2%3Fq%1D%EFE%BC
Fix typo

--HG--
extra : transplant_source : %A3%7E%9BWre%B4%86%A0%E5%B2Kk%B9%DEf%3F%FD3%0E
Clarify cdef vs. def function arguments.

--HG--
extra : transplant_source : %86.-%DA%5C%B1%CE%B8%40%BD%BA%E2%F0%B6f%C40%EB%B0%08
Cleanup type sharing.
Use shared module for more Cython types.
Merge branch 'master' into common-types
Py3 fixes for shared types.
Common utility types test.
minor doc fixes

--HG--
extra : transplant_source : %9E%DF%DFQ%18h%9D%1Ax%FAV%1F%28%E8%86%E4%91%21%EF%26
Use PyImport_GetModuleDict() for common utility types.
Correct globals for shared function types.
make fpos_t an opaque type

According to the C11 standard, §7.21.1, fpos_t

    is a complete object type other than an array type

but there's no guarantee that its an integer type.
add --quiet and --force options to cythonize script
add -3 option to cythonize script to make it easier to compile in Py3 mode