unittest: make check use a qa/log dir for logging

This patch is using the qa/log directory to store the output
of the check. In case of success, the directory is deleted.
In case of failure, the directory remains in place.

This should fixes #910.
Export IsRuleReloadSet and use it.
Add SuriInstance structure

To be able to split code in functions in main, we need to pass
information about the current running Suricata to functions.
For that we create a structure to store suricata run parameters.

In this patch it allows to separate command line parsing and to
treat internal running mode in a switch just after command line
parsing.
add internal running mode
get (almost) rid of run_mode variable.
engine analysis is a running mode
kill remaining run_mode usage
Running mode is set earlier so out earlier
suricata: windows specific in one function
Add function for internal running mode
suricata: use function to print version
SetBPfString is part of command line parsing
set rule_reload as part of SuriInstance
Use function for daemonification and signal handler
Factorize Signature loading
Add functions for elapsed time computation.
Use function for delayed detect setup.
Generic code don't need ifdef
Move CreateLowercaseTable to GLobalInits
Prefix util-conf function with Config