Making HornetQ 2.3 client compatible with HornetQ 2.2.x server

Allowing the topology message to be received correctly
Changing the client version so it can connect to the older server by allowing a list of compatible server versions.
Filling the fields that are not present in HornetQ 2.2.x and thus won't get filled during deserialization. Making them not final to be able to do this.

Currently the client version negotiation will raise some warning and errors messages on 2.2.x server but otherwise it is working.