Add Nondeterministic annotation where appropriate

As njwhite raised, need to add Nondeterministic annotation for UDFs which don't produce deterministic output.

WeightedSample is actually deterministic with a seed provided, however to be on the safe side this marks the UDF as non-deterministic.  Perhaps we can split into two versions.