Use unlikely in malloc failure test.

This patch is a result of applying the following coccinelle
transformation to suricata sources:

  @istested@
  identifier x;
  statement S1;
  identifier func =~ "(SCMalloc|SCStrdup|SCCalloc|SCMallocAligned|SCRealloc)";
  @@

  x = func(...)
  ... when != x
  - if (x == NULL) S1
  + if (unlikely(x == NULL)) S1
Counters: remove all unused parts of the API
Counters: remove unused code
Counters: more unused code removal
Counters: remove SCPerfCounterValue struct as we no longer support multiple data types
Counters: merge SCPerfCounterName into SCPerfCounter as there was a 1 on 1 mapping
Counters: fix unix socket
Counters: remove unused tm_name comparison loops
Optimizations to reduce branch misses
Counters: remove unused updated field
Counter: fix accidental logic change
Counters: move perf critical var to the top of the SCPerfContext struct
Counters: fix delayed-detect counter registration

Make sure we register the detect.alerts counter before packet runtime starts
even in delayed detect mode. The registration of new counters at packet
runtime is not supported by the counters api and might lead to crashes as there
is no proper locking to allow for this operation.

This changes how delayed detect works a bit. Now we call the ThreadInit
callback twice. The first call will only register the counter. The 2nd call
will do all the other setup. This way the counter is registered before the
counters api starts operating in the packet runtime.

Fixes the segv reported in ticket #1018.
Fix for #1003.

Now that we call stream reassembly directly from proto detection, we will
need to check if reassembly has been disabled inside the stream reassembly
callback.

This prevents any calls to bypass and re-enter proto detection, despite
having reassembly disabled.
DNS: fix response name length logic

In some cases where the length would be calculated as 0 we'd loop until
we'd hit our loop limit.

Update name logic everywhere.
IPv4 decoder compile warning fix
stream: reduce scope of StreamTcpPseudoPacketSetupHeader
stream: fix IPv6 pseudo packet setup

Bug #1022: IPv6 pseudo packet setup using reverse logic of IPv4.
content inspection: introduce no_match label
profiling: introduce per keyword profiling

Initial version of per keyword profiling. Prints stats about
how ofter a keyword was checked and what the costs were.