Processes a string by replacing function call descriptions with their results.
The function call descriptions are in the format:
@@function:object#id@@
Where:
* function is the name of the function to call
* object is the object to call the function on
* id is the object's ID
The function call will be replaced with the string result of calling that
function on that object.
Note: This function is different from parse_command() which uses OBJ, OBJ2,
PREP, and WORD tokens for pattern matching. This function is specifically
for evaluating function calls within strings.
Example:
```c
string str = "You are chased by @@query_the_name:/obj/monster#123@@ eastward.";
string result = process_string(str);
// If query_the_name in monster#123 returns "the orc":
// result = "You are chased by the orc eastward."
```