Added tests for string functions
Fixed string.gsub() when the replacement is a function that returns a value