Preventing input variable name collision

during assembly, e.g.: f, v, decl, path
Prevent user variables starting with _3X_
Changed output extractors' CWD to workdir/

Otherwise, it is difficult to write a simple script, e.g., in Python
that produces additional files.
Selective 3x-define output extract

by optionally specifying filenames to extract the regular expression
from.
Reverted output extractor's CWD to run directory

and instead providing environment variables $_3X_RUN and $_3X_OUTPUT to
point to the run directory path and the executing output extractor's
dirname respectively.

WARNING! This commit also introduces a backward incompatible change to
GUI that bases file outputs' URLs to the run dir, instead run dir's
`workdir/`.  This allows output extractors to generate files, e.g., at
`outputs/NAME/plot.png` and still play nice with file
archiving/deduplication, since `workdir/` is locked/write-protected at
later rescans.
Typo fix in error msg
3x-rescan migrates index first and backs up output

that are being rescanned.
Write-protect run's workdir prior to extracting outputs
Prevent accidental overwrite with 3x-define

and let user to force redefinition with -f option.