Adds list_peek_current to struct list.

list_peek_current returns the current element in the iteration, without
advancing to the next element, as list_next_item does.
incorporate upstream changes.

Specifically, list_peek_current.
use list_peek_current to eliminate temporary variable
define unique integer(s) for long options without short options
parse dry-run as an option
do not create files with linker during a dry run
display non-verbose listing of dependencies during a dry_run
do not write modified dag to file if workspace is an asterisk
Option to run makeflow_linker without creating files.

Quite useful for debugging and workflow design.