set constant_result of empty containers created in ConstantFolding transform
mark node position in C file when starting to generate the node's code, not that of the subexpressions

--HG--
extra : amend_source : 566ce3ed6bd0efbb075126a6c5823b773c72d2ea
minor code cleanup

--HG--
extra : amend_source : c948151354a77be026c92d57abc151e51fb271c6
generate separate C code branches for each exit case of a try-finally statement
changelog
extend test
fix C compiler warning about unused variable
discard else clause from try-except statements that do not terminate normally
fix typo
make sure the optimised try-finally always generates code for the original finally block subtree (just in case it references something external)
fix compiler crash
be a bit smarter about when slicing or item access return None

--HG--
extra : amend_source : 51a4e6ec35c70af746630fcada3982c2decde872
let SliceNode know it returns a slice instance
make CallNode a little smarter about when the return value can be None
fix typo
add and improve some more may_be_none() methods
optimise list.pop() a little more by splitting it off the generic anyobj.pop() implementation
drop some redundant C labels in if-blocks

--HG--
extra : amend_source : affe6e89d8c2c49654f376fbbda3b1ad29190895
improve annotation for else-clause in while-loop
implement Python corner case of passing a tuple as assert message