Use a custom function to ensure we support virtual/exported resources

  * Adds the custom function `resource_sigil()` to return '@' or '@@
      if the currently scoped resource is virtual or exported,
      respectively. Otherwise, returns an empty string

This can be used as follows:

    $sigil = resource_sigil()
    create_resources("${sigil}file", $resource_hash)