Add lazyTransform optimisation.

* It forwards in the code lazy variables used only once.
  def foo(): a = 2; print a
  become
  def foo(): print 2

* It will give more work to constant folding
* Should be good for scientists as they use a lot of variable as constant parameter (eg. R = rayon_of_earth, G = gravity, ....)
Fix set operator for empty set or not enought arguments
WIPset
Change PureFunctions analysis to PureExpressions analysis
Fix pythonic for list
Fix lazyAnalysis for omp clause
Fix backend for omp clause using scope analysis instead of localvariable metadata
Fix lazyness analysis for subscripted variables

* Partialy modified variables means variables using it are deads
Scope analysis is more powerfull for declaration than metadata
Fix unparse for empty set
fix backend
Apply lazyTransform before constant folding to give more work at constant folding
Fix test to avoid constant folding
Fix function expand when module is not imported
Add missing combiners