Fix return macros to work with expressions

Fixed RETURN_MM macros to call ZEPHIR_MM_RESTORE after setting
return_value.
It allow the use of expressions using temporary or local variables in
the return statement, as such:
```
return (count(array_diff(a, b)) == 0);
```
Added call to clean extension before new config.