HRCPP-27 Correctly initialize protocol version

- Also make CodecFactory a proper singleton so that dynamically allocated codecs are freed on exit
- Use a signed int to calculate the number of transports
- Now the valgrind tests pass
HRCPP-31 unistd.h import in Simple.cpp breaks the build on Windows

Remove unused unistd.h include which breaks the windows build.
HRCPP-27 Silence more warnings
HRCPP-32 cmake complains about JBOSS_HOME not being set if it is pointing to a symlink

Check if JBOSS_HOME is set or not and use the value if present as a default for HOTROD_JBOSS_HOME.
HRCPP-33 JniTest fails to compile on Windows

Use different java classpath separators for unix and windows.
HRCPP-9 Properly separate public and private include files
- Remove redundant Configuration class
HRCPP-6 multithread support, changed implementation with one instance of RemoteCacheImpl (like java)
HRCPP-2 Connection Pooling: greatly simplify interfaces
HRCPP-2 Connection Pool
HRCPP-34 Make ConfigurationBuilder completely fluent
HRCPP-35 Do not needlessly copy InetSocketAddress, which causes problems with attempted reuse
HRCPP-36 Compiler warning for BlockingQueue.h

Change the type for capacity from int to size_t.
HRCPP-37 ExhaustedAction.CREATE_NEW conflict with macro in fileapi.h on windows

Check if the macro CREATE_NEW is defined and temporarily undefine it.
HRCPP-17 Add a RemoteCacheManager(Configuration) constructor
HRCPP-38 Initial implementation of distribution package
L3 client intelligence