fun once(key: String, namespace: String? = null, block: () -> Unit): BooleanExecute [block] only once for a given [key] under the current script owner namespace.
When script is reloaded, the markers won't be cleared, so the block won't execute again until the marker is reset with [resetOnce] or [clearOnce].
When called inside a script execution, the default namespace is that script's owner id; outside script execution, the default namespace is "global".
Returns
true if [block] was executed this time, false if it was already executed before.