HRCPP-151 Do not use STL classes in public API

https://issues.jboss.org/browse/HRCPP-151

* std::* in classes passed over the library boundary replaced with portable::*
** internally the client still uses STL, public API also takes STL but rewraps it
* more careful reasoning about allocation/deallocation
** object allocated in one module has to be released in the same module
** that's why explicit destructor functions needs to be passed
* most of the changes are public API-wise compatible
* hrbytes hidden as internal class
* Unit.cpp, L3Test.cpp and HashTest.cpp moved into the library, exporting the functions
* marshalling calls moved from RemoteCache to RemoteCacheImpl (to call all marshalling/unmarshalling from one place only)
* a bit of headers cleanup
* explicit casts for integer type conversions (to remove warnings on Windows) - but no changes in API
Radim, use the secure signatures and add macros for non-windows to just invoke the usual ones