Each category now tracks with nodes belong to it.

This is needed to correctly implement dag_to_file.
Adds @vars to dag_to_file
Do not include special variables in d,n->variables
Add categories to dag_to_file
Implements variables with category scope.

This change will allow to easily define variables such as BATCH_OPTIONS
per category.
Fix remote_name test to work correctly on Darwin
More robust commit to fix issues with CONVERT and Darwin
Fixes bug when redifining a variable in makeflow.

Make evident previous memory leak when variables where not boxed.
See also: 5b5df326e19fee6fa491711cbaff4ad5f49ea530
Computes gc preserve and collect list automatically