Detect if an agent is running via tty/terminal interface.

This allows better output to the user, ie. when there is a syntax error or missing input file,
allow the user to correct the error rather than falling to failsafe.

Better response for missing input file, while in tty_interactive mode.

Provides the user with the name and path to the expected input file and then exits,
allowing the user to correct the error. Does not fall back to failsafe.

Moving tty_interactive logic into GenericAgentConfigNewDefault, and refraining from creating
a new hardclass 'tty_interactive' at this time.

Making GenericAgentConfigTTYInteractive static

Minor changes to declaration.
Merge remote-tracking branch 'shauna/cleanup-interactive'

Conflicts:
	libpromises/generic_agent.c
	libpromises/generic_agent.h