DM-800: implemented zoo reconnect/retry, improved get(), all thread-safe

This is a combination of 8 commits.
 * DM-800: implemented reconnect and one retry if zoo function fail
 * fixed include guards
 * various fixes and improvements suggested by AndyS
 * improved zoo_get
 * merged two similar functions together, added test
 * made thread safe
 * improved get()
 * node->key rename for consistency
see u/jbecla/DM-800 for details
Merge branch 'u/jbecla/DM-800'