QRegularExpression: make optimize() const

Although it may seem strange that such a method is const,
optimizing doesn't affect the user-visible part of the object.

Moreover, *not* having it const makes it asymmetrical with other
methods (such as match()) which are const, and under certain
conditions optimize as well.

Change-Id: I0cd8d4a6909d00629fcc65c1c3a1f011f31db782
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>