ISPN-4377 Make receiving state option for Hot Rod remote events

https://issues.jboss.org/browse/ISPN-4377

* Add attribute to @ClientListener annotation to decide whether to send back state to clients when adding listener or upon failover.
* Refactored Hot Rod server event log listener to add assertions to the listener itself.
* Added missing javadoc to @ClientListener.
* Modified addListener protocol operation to support optional inclusion of state.
* Updated Hot Rod protocol 2.0 specification to add new flag for addListener operation.
* Updated Hot Rod client documentation to specify how include current state functionality works both when adding a new listener for the first time, and upon failover.