renamed serializationcontext to portablecontext
Introduced VersionedPortable. Along with the global serialization version, each portable can have its own version to avoid conflicts.
Added tests for VersionedPortable and refactored old ones.
Made all client requests VersionedPortable. Their initial version is 1.
added some javadocs
Input and output utf buffers can be created ondemand, no need to allocate extra space for every input and output

(cherry picked from commit 09e2debaf6e8a2fca636c3bc248a5df8348be0a0)
Fixed portable checkstyle issues.
Merge pull request #2543 from mdogan/enhancement/3.3/portable

Introducing versioned Portable to be able to avoid serialization conflicts between per class updates