Revert "Get rid of "empty format string" compiler warnings."

This reverts commit c5ac4968eaa2fed0858c922f5e36115fb57cca2b, which in addition to
silecing compiler warnings, made the calls to cfPS actually do more than just return
due to empty format string, which was apparently not intended.
Remove struct SubType intrusive list
Fix actually removing the next pointer from struct SubType
Update default for host_licenses_paid to "25" so we will avoid unnecessary warnings
when using FREE ENTERPRISE promotional license.
Merge pull request #310 from shaunamarie/cleanup-license

Cleanup #2085 - Set default host_license_paid to 25
Comment out no-op calls to cfPS, silence compiler warnings
Implement CPU counts for platforms other than Linux & HP-UX, except Windows

Replaces Linux /proc/stat parsing with sysinfo() call, which returns the same
result but also works on various other platforms. Adds sysctl() call for
BSD-derived platforms.

Documentation update removed Linux-only caveat; clarified virtual vs. physical
CPUs; added mention of hard classes which are set.

Configure.ac update adds the check for BSD sys/sysctl.h to allow for
CPU counting on that platform, and the necessary includes in sysinfo.c.
These updates are written in such a way that they will be easy to merge
with pull request https://github.com/cfengine/core/pull/229 as they
overlap a bit.
Rearrange Windows-not-supported component in GetCPUInfo()

Changed Windows section to a "not supported" notice at the top of the
function, to prevent unnecessary allocation of buffer and count variables
in this function, and to inform that there is no CPU count capability.
Handle buffer sizes and file read errors more gracefully
Remove struct Promise intrusive list, replace with Seq
Merge branch 'cpu_count'
Make GCC brief format the only output format during parsing.

Parser error messages are the ones emited from lex/yacc. Historically,
they have been emitted in a special CFEngine format. This led to the
introduction of the --gcc-brief-format flag to output errors in a way
that most tools/editors can pick up.

This change removes the historical CFEngine output format, makes brief
format the only output format, and removes the --gcc-brief-format flag.
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.
Put check_writable_by_others in GenericAgentConfig, small cleanups
Merge remote-tracking branch 'shauna/cleanup-interactive'

Conflicts:
	libpromises/generic_agent.c
	libpromises/generic_agent.h
Merge remote branch 'upstream/master' into parser