Add PETSC_ARCH.
Add support for cmake.
Work on petsc, swig, trilinos and ufc.