Blitz getThumbnail() uses cached thumbs (not Direct) if possible
Change DetailsI to store client as raw pointer to prevent circular reference

This fixes a circular reference between client and details, which was causing the client to never be freed unless closeSession was called, which would free the Ice objects, and break the reference. The client controls destruction of details via closeSession, so there is no worry of a dangling pointer issue.
Don't close the callback in the destructor to prevent double deletion. Fixes #10417

The ServantManager already removes/deletes the callback, so we cannot call remove/close in the destructor as it's already in the process of happening.
Added a new close method, in the event you do want to close the callback before the session is closed.
Add poll param to DeleteCallbackI to match ProcessCallbackI
Change process and delete callbacks to also handle close in a separate function and not the destructor

This prevents the same potential double delete issue as was seen with CmdCallback
Remove client::__del__ as it shouldn't be accessible to outside code and the name is a bit confusing
Don't manually delete clients now that it happens automatically
Forgot to change this client_ptr to raw pointer with previous cycle reference fix
Add helper function to create Point shape
Add helper function to create Polyline shape
Add helper function to create Polygon shape
Add helper function to create Rectangle shape
Add helper function to create Ellipse shape
Add helper function to create Mask shape
Add helper function to set shape Z, C and T
Add series of unit tests for new Shape helper functions
Add __del__ back to keep the API the same as java/python
Move closeHandle param back to ctor as it's easier to specify upfront
Better log message for ignored exception
Add dependencies when used as a plugin to configuration file.

Define the various dependencies and information when the
client is used a a plugin.