rose.config_processors.file: optional source

Handle `source=(location)` syntax for optional location.

This implements the runtime part of #955.