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.