Make this.promise_filename/dirname variables contain absolute paths.

This is needed because those variables contain a path that is relative
to the working directory that the binary is launched from, whereas the
inputs attribute expects files relative to the policy root. So those
cannot be used together unless the paths are absolute.

Several tests have also been fixed that prepended the current working
directory to the value in order to get an absolute path. This should
not happen in any policy in the field, since promise_filename/dirname
always returned an absolute file name there (because the policy root
is an absolute path).

Addresses issue 3839.