ServletWriter - adding item to task queue before setWriteListener(...) is called

- solves the issue when onWritePossible() is invoked right when registration is done and from the same thread. Current implementation will leave the task in queue until next one arrives.
TYRUS-347: Introduce better synchronization in JDK client thread pool
TYRUS-335: Separating Session user properties and distributed properties.

+ 5 second timeout for sending sync messages using RemoteSession (TBD)
TYRUS-348: Better handling of close and other states.

- Filter class refactoring, moving more logic into that and removing from implementations.
Cluster SPI: [bug] Tyrus broadcast was sending messages twice.
Cluster SPI: [bug] Making TyrusParameter Serializable.
TYRUS-344: Introduce Client support for HTTP Redirect
TYRUS-344: Client support for HTTP Redirect - review

- fixing bugs/refactoring.
Adding package-info.java files.
Cluster SPI: [bug] Tyrus broadcast was sending messages twice.
Cluster SPI: [bug] RemoteSession#getDistributedProperties used wrong id.
copyright year update
TYRUS-356: Regression - uri.getPort() not parsed correctly when SocketAddress is created.
ClientSPI

- removed URI param from ClientContainer#openClientSocket
- added ClientEngine#processError(Throwable)
copyright header fix
TYRUS-357: Incorrect PongMessageHandler error handling.
Cluster SPI

- when close code is 1006, we should keep distributed properties
- adjusting send sync timeout in RemoteSession