Guard PIConnection, thread primitives, PICodeParser and other feature
code behind PIP_HAS_THREADS/PIP_HAS_FILESYSTEM. In CMake generate the
feature flags summary from the single PIP_HAS_FLAGS list (used by the
add_definitions loop as well), default ICU to OFF and make introspection
also require PIP_HAS_SOCKET. Build system/thread test suites only when
the corresponding feature flags are enabled.
change subscription logic - now keep subscriptions independently from connecting state. No unregisters on disconnect, but resubscriptions on connect. So one-time subscription on app start and just connect() on lost connection - all subscriptions keeps
1. subscribe now similar to HTTP server, with lambda
2. subscribe topic syntax support all HTTP features as path arguments and wildcards
3. event received() changed to receivedUnhandled() for unhandled messages (should never be called in proper work)
4. internal logic got more complicated, several endpoints may be serviced by single MQTT topic, so nested Map used