Add support for UUID specification / autogeneration / querying #4940275992598
libpubnub: Replace pubnub.state by pubnub.method for the purpose of better error reporting
By default print error info on stderr, new function pubnub_error_policy() controls that
pubnub_http_request(): Move the last request URL from local variable to p->url

This is necessary when we need to retry the last request.
libpubnub: Offload handling of some errors to pubnub_handle_error()

This function will also take care of retrying in the future.
pubnub_handle_error() callers: Make sure method name is not clobbered before the call
libpubnub subscribe, history, time: Avoid printing out curl error twice, call pubnub_handle_error() when appropriate
pubnub_http_request(): Also save the last timeout value used to struct pubnub
pubnub_http_request(): Split out pubnub_http_setup()
Decouple stop_wait() call from pubnub_connection_cleanup(), call it 'manually' just before user cb

If we are to retry a connection, we must not call stop_wait() too soon;
some future paths in pubnub_handle_error() will not invoke it.

This makes the code annoyingly convoluted and spills out some of the
event handling internals to the user-facing functions.  I pondered
instead declaring that stop_wait() callback might not be definitive if
followed immediately by a timeout() or add_socket() call, but that makes
for even uglier public API.
Add support for automatic error retry (fixing #4940275992584 and #4940275992594)

Errors to retry are specified in a bitmask, therefore some errors may be
selectively enabled/disabled, e.g. PNR_TIMEOUT. Therefore, this also
covers the standardized timeout handling.

This should much simplify API usage by applications.  Update of the examples
to follow shortly.
pubnub_error_report(): Say whether we will retry; rearrange pubnub_handle_error() a little
pubnub_error_report() pubnub_res_str[PNR_TIMEOUT]: Edit for brevity
examples: Remove now-redundant extraneous error handling code
Merge branch 'CL-4940275992598'
Merge branch 'CL-4940275992594'

Conflicts:
	libpubnub/pubnub.c
	libpubnub/pubnub.h