set_outcome takes two arguments: the finalized outcome and tags for identifying the request on the requester. This method should be set to only be called by the Flux Oracle -- otherwise anyone can bypass the oracle to set an outcome on a data request. The method always looks like:
set_outcome(outcome: Outcome, tags: String)
The outcome is either valid or invalid. If valid, the answer is either a string or a number. A list of tags, which are stored on the oracle when data requests are created, are sent while setting the outcome to map the outcome to the right data request. I.e. if the tag is set to a number that auto-increments each time a data request is created, the oracle will call set_outcome() with that same number to finalize.