Move create_output() into print_interval_report()

In follow up patches print_interval_report() will be cleaned up by using
asprintf() instead of fixed buffers
Reorganize print_interval_report() to increase readability
Delete some static buffers in print_interval_report()
Factor out logic for calculating column state

Instead for having this logic twice in create_column() and
create_column_str(), factor the logic out into a new function
column_width_changed().
[Trivial] Rename variables to increase readability
Coding style - apply C99 standard in create_column[_str]()
Delete remaining static buffers in print_interval_report()
Fix bug introduced by commit 896b6ec.

Return values of create_column() were accidentally overridden each time the
function was called. Instead the return values must be XORed.
Unify column width calculation

Both functions create_column() and create_column_str() determine now
the column width in the same way. As a follow up we can now factor
out the header creation in create_column[_str](), which avoid the code
duplication.
Use a variadic function for printing measurement output
[Trivial] Group helper functions for printing reports together
[Trivial] Update comments in flowgrind.c
Use format specifiers to print trailing spaces
Delete useless casts in print_interval_report()
Use 'unsigned short' instead of 'unsigned'

Since MAX_FLOWS is 2048 only, it is not necessary to use 'int' here.
[Trivial] Rename functions in flowgrind.c

New names better reflects that functions iterate over all flows or
daemons.
[Trivial] Delete forward declarations
[Trivial] Some code style changes in flowgrind.c
Free memory also if no final report has been printed
Evaluate return code of asprintf() in print_final_report()