Firedrake does not respect that PyOP2 has already been initialized

`core_types._init()` claims it would only initialize PyOP2 if the user has not already done so themselves before. This is a lie. It only checks a module level global telling if *Firedrake* has already initialized PyOP2. As a consequence, the first call to the Firedrake API will call `op2.init()` with no argument, thereby reverting any custom arguments the user might have passed to `op2.init()` before.

See also OP2/PyOP2#250.