globally remove pointless null test before free()

Coccinelle patch used to perform this cleanup is included.

Change-Id: Ia367764245c845839fd22034b2b5f58b93bd54e8
knotc: fix memory leak when installing the key

Change-Id: I571cc82f393d526e43ba17ade19f57ce067b5c52
RX rate measurement code (disable by default).

Change-Id: I3cfa7f07a71b1d8b9e77f93ef16b683c15f9fe24
Better knot_zonedb_find_zone_for_name() implementation.

Previous with full dname copy and chopping was really inefficient.
Yields approx. 20% lower relative cost, 6% throughput increase.

Change-Id: Icaa49572f75769739ae61f48d2ca958e38db6104
Implemented HAT trie longest prefix match + tests.

General idea is regular search with keeping node stack.
If node is found, then return current node.
If node is htable, search for suffixes in htable.
If anything fails, walk up the visited nodes and check if
any visited node has value. If yes, then it is a prefix.

f.e. searching for 'abcd'
visited nodes: root -a-> {1:trie} -b-> {2:htable}
1. search htable for 'cd', 'c'
2. retrace to node {1}, does it have value?
3. yes, node1 is prefix 'ab' for 'abcd'

Change-Id: I622adbe9a127d8317b933af4bf56e1411e2d915f