More GCC bug workarounds

4.6 now produces bad code for some kernels unless we turn tree-vectorize
off.
Move back to PETSc/petsc4py master
Return read only view of Global data from data_ro property
Expose boost::container::flat_set to Cython
Create basic AssemblyRewriter
Enable remote compilation with intel tools
Avoid identical invariant sub-expressions
Add variable counter to Expr Rewriter
Support hoisting of constant sub-expr
Implement expansion of expressions
Implement a more powerful hoister
Implement distributor of products over sums
Simplify code hoister
Avoid generation of useless symbols
Add ExpressionGraph to track symbols dependencies
Re-structure the expression expander, track decls
Split exprs fully if no info on the length. Simplify code.
Licm optimization now supports multiple levels
Implement precomputation of constant terms
Implement translation into BLAS calls