Cpp test/fix callback tests develop

See gh-748, original PR for:
 * Fix assertAtLeastResults to correctly use >= comparison	 d60ef19
 * Change delete test to use session::submit, instead of deprecated IDel… …	 e9f55df
 * Remove empty testAnnotatedWithNamespace as it's not even implemented … …	 a201e99
 * When searching as root, search within all groups	 d9306e0
 * Disable tests that are failing because of server bugs	 5b09d7e

See gh-792, original PR for:
 * Change DetailsI to store client as raw pointer to prevent circular re… …	 8c94b15
 * Don't close the callback in the destructor to prevent double deletion… …	 b884deb
 * Add poll param to DeleteCallbackI to match ProcessCallbackI	 27495ab
 * Change process and delete callbacks to also handle close in a separat… …	 7d76c56
 * Remove client::__del__ as it shouldn't be accessible to outside code … …	 0f2051e
 * Don't manually delete clients now that it happens automatically	 9c65902
 * Forgot to change this client_ptr to raw pointer with previous cycle r… …	 b768fc4
 * Add __del__ back to keep the API the same as java/python	 29a693b
 * Move closeHandle param back to ctor as it's easier to specify upfront	 6b53961
 * Better log message for ignored exception	 05b794d
 * Add Wrapper class for callback objects to make sure they are properly… …	 6bcde83
 * Make callbacks work across a firewall. see #2485 …	 5e1223f

See gh-855, original PR for:
 * Only assert that at least 1 step is seen, as we're not guaranteed cal… …	 16176f7
 * Add test for when callback is added after command completes on server	 86e92b5
 * Remove duplicate assert	 c9fadeb
 * Use CallbackWrapper instead of handle	 f456456
 * When calling poll from the constructor, do it async …	 5a66b68