samples: Move 'ZMQContext' creation out of sample classes.
ZMQSocket,ZMQContext: Handle closing/deleting 'ZMQSocket' and 'ZMQContext' instances correctly.

Method 'ZMQSocket::close()' now is a slot and also unregisters instance from its 'ZMQContext' instance.
Deleting a 'ZMQContext' now doesn't delete 'ZMQSocket' instances anymore. Instead, the socket is closed and its pointer to the associated context is set to 0.
ZMQContext: Calling method 'createSocket' without specifying a parent pointer now doesn't implicitly set 'ZMQContext' instance as parent anymore.

CAUTION: This breaks compatibility with older code which assumes the socket instance is implicitly managed by its associated context instance if no parent is specified. So this causes memory leaks in such cases.
samples,refactoring: Use new 'SampleBase' class and simplify code.
samples: Use 'NZMQT_' prefix for include guards.