rose arch: fix error reporting

The unbound environment variable value error reporting for `rose_arch` is currently broken - for example, a suite that looks like this:

# suite.rc
```
[scheduling]
    [[dependencies]]
        graph = "archive_donuts"
[runtime]
    [[archive_donuts]]
        command scripting = "rose task-run -v -v --debug"
```

# rose-suite.conf
(empty)

# app/archive_donuts/rose-app.conf
```
mode=rose_arch

[arch]
command-format=eat the donut eat the donut

[arch:leftover_donut]
source=$MMMMMMM_DONUTS
```

will produce the following task error:

```
[FAIL] global name 'keys' is not defined
```

This change will make it report:

```
[FAIL] source=$MMMMMMM_DONUTS: configuration value error: [UNDEFINED ENVIRONMENT VARIABLE] MMMMMMM_DONUTS
```

The `pop()` in `ConfigValueError` had the effect of making the exception unprintable the second or third time str() was called, so that's now a pop from a copy of `keys`.