Add the ability to stream DAG via stdin

This allows users to pipe in the DAG via standard input.  To do so, the
user passes "-" as the file name:

    $ dag_generator | makeflow -

To implement this feature the following modifications were made:

1. Move struct dag_parse keeping into struct dag.

2. Add fields to struct dag_parse to keep track of current mode, and
   current node.

3. Move node parsing rules into dag_parse.

4. Modify get_line to check if the stream is readable via select.

Tests:
- Added TR_makeflow_src_example_stdin.sh which is the same as
  TR_makeflow_src_example.sh but Makeflow reads the DAG from stdin.

- Added TR_makeflow_factory.sh which reads the DAG from a process that
  periodically generates a node.

Issues:
- Garbage collection and Nested Makeflows are not supported yet with the
  dynamically added tasks.

- Right now we have to check the whole DAG after we detect parsing new
  nodes.