Supports adding global variables to pipeline (ArchiveTeam/seesaw-kit#35).

Due to the way how the pipeline design works, tasks cannot reverse the
flow of direction of the data passing and pick up arguments from the
command line. As well due to the design of seesaw, passing a generic
"bind-address" argument that is specific to only a limited number task
would go against its philosophy.

Since the current implementation requires executing a pipeline file, it
cannot pickup arguments such the downloader name. As such, the global
variables are injected into the pipeline file. This commit allows users
to introduce additional global variables.

Example to set a variable on the command line:
"--context-value bind_address=1.2.3.4". This would introduce
"bind_address" into the global scope of the pipeline the same way as
"downloader".

To fix the Wget task, the pipeline will define its arguments as usual.
But before passing it into the Wget task, check
"if 'bind_address' in globals()". If true, then
"arguments.extend(['--bind-address', globals()['bind_address'])"
Specify the metavar for the context-value argument
Version 0.0.16.