Change ConstantFolding to only import necessary modules

Also fix bug I had with globals
Merge remote-tracking branch 'serge/master' into devel

Conflicts:
	pythran/pythran.h
	pythran/toolchain.py
bug in trim_callees
Fix includes after export statements
Fix import operator_/operator in constant folding

I don't know why it's needed, but it was present in the old code...
Fix bug introduced by filling the modules variable
Fix Locals
Fix final tests
Don't generate default global function when not needed
Make all top level variables globals when they're moved

Also fixed bug introduced by globals
Add export statement for __init__()
.
Fix NormalizeMethodCalls with globals
nasty bug
Better detection of globals in typing, for combines

Types actually need to be combined when there's no assignment, for example dictionnaries:

x[1] = 2

Means it's a dictionnary of int, int and x wasn't assigned.

Also fixes a bug in the combiner (I had stupidly modified depth of self.node_to_id before)
Add [] declaration to indexable_container to deduce value type
Add default void type for or_global_type
Changed Reorder in order to account for call graph

It used to be only return type dependencies between functions.
Also fixed the typedef problem
Euler raw test cases
Fix Scope usage with globals