RaceHound can now monitor the targets that are still initializing

Kallsyms (e.g. involved in message output with %pS specifier) seems to
be not safe to use if the kernel module containing the given address has
just finished its initialization. This is due to a potential race on
symbol tables.

Previously, RaceHound would not monitor the target until its
initialization has finished (and the symbol tables set properly). This
was too restrictive because races were also likely to happen during that
period and they would remain unfound. Besides, those measures did not
protect from the situation when a conflicting memory access came from
some other module that had just finishes its initialization.

I revisited the code that outputs messages to avoid using kallsyms (but
to output meaningful info anyway) when it is not safe.

RaceHound can now analyze the target module during the initialization of
that module too.
Fixed: function list was not reset upon reload of the target
Minor updates of README