Add vg script to help testing with valgrind
Make dict_itor_search() to be usable.

Restore search function registration for struct dict_iter.
cunit: add dict_itor_search() tests
hashtable: fix in dict_itor_search(): don't loop infinitely.

Make algorithm of hashtable_itor_search() to be the same as hashtable_search() one.
tree_common: fix incorrect usage of tree_search().

tree_search() returns pointer to data associated with the key.
But tree_iterator_search() needs node, not data.
Add common function tree_search_node(), use it in tree_iterator_search().
Remove code duplication for dict_itor_search().

Use tree_iterator_search() in:
hb_itor_search(), pr_itor_search(), tr_itor_search(), wb_itor_search().
Remove code duplication for dict_search().

Use tree_search() in pr_tree_search().

--HG--
extra : rebase_source : 29adcc36c5d0ddf4abf5ad65f070c6cb4416fb51
tree_common: add common functions to search closest keys: _le, _lt, _ge, _gt
Implement closest search functions (_le, _lt, _ge, _gt) for all the trees except rb_tree.
cunit: Add tests of closest search functions.
Merge branch 'master' of git://github.com/sorc1/libdict into sorc1-master
Fix shadowed variable warnings.
Detect compilation by Clang using __clang__ preprocessor definition.
Style/formatting fixes.
Implement search le/lt/ge/gt functions for red-black tree.
Add check in vg script for valgrind executable.