Implement zend EG(error_reporting).

Use a macro and wrapper class to turn lval/rval use of EG(error_reporting)
into calls to setter/getter methods for class RequestInjectionData.
Our linter dislikes this:

```
   Warning  (FBCPP2) CppLint Warning
     Warning: Implicit conversion to 'int' may inadvertently be used. Prefix
    the function with the 'explicit' keyword to avoid this, or add an /*
    implicit */ comment to suppress this warning.

             352 class ZendWrappedErrorReporting {
             353 public:
             354   void operator=(int newLevel);
    >>>      355   operator int() const;
             356 };
             357 extern ZendWrappedErrorReporting
```

Is the implicit casting required? Either way, I can do the change to make the linter happy without an updated PR.