Added SubstrOptimizer.

I have add `SubstrOptimizer` using internal function not userland PHP function call.

Also supports negative start and negative length , and length parameter is optional. (compatible userland `substr`);

Please Ref `test/strings.zep` and `unit-tests/strings.php` .


Signed-off-by: Rack Lin <racklin@gmail.com>