Refactor wildcard matching
Refactor the wildcard matching code to make it a bit easier to understand, in hopes that it will reduce the difficulty of converting from RBTDB to QPDB later.
there are also some minor optimizations: previously, after stepping backward to find the predecessor, we stepped back foward from the predecessor to find the successor. we now reset the rbtnode chain to its original starting point before stepping forward; this eliminates some unnecessary processing. and, if neither predecessor nor successor is found, we return early rather than carrying on with an unnecessary effort to match labels.
Edited by Matthijs Mekking