Miscelaneous fixes and improvements

- Added method to Platform to return the current working directory
- Added method to Platform to retrieve a specified amount of bytes from the
  system's secure random number generator
- Thread.join() now returns a bool indicating the join result if a timeout
  was specified
- Added const qualifiers to get methods of Properties
Unicode fixes and missing POSIX method implementations

- Wrapped a few outstanding raw strings in the TEXT literal
- Added POSIX implementation for getRandomBytes
- Added POSIX implementation for getCurrendDirectoryString
- Added POSIX implementation for fileExists
Added Platform routine to get addresses of available network interfaces
Fixes for Linux implementation

- Platform::getHostAddress implementation has been split according to whether
  the lib is being compiled for __APPLE__ or not. This is because macosx can
  have variable length records, and linux looks to have fixed length records
- Socket and MulticastSocket now shutdown input/output before they close the
  socket descriptor to prevent a hangup.
- Added newlines at EOF to keep gcc happy
- Platform::getRandomBytes now reads from /dev/urandom instead of /dev/random
  to prevent blocking if the system entropy pool has drained
Moved stdarg include out of Logger.cpp into Logger.h
Added common system includes for Ubuntu's stricter compiling conditions
Fixed Win32 issues with Threading and Secure Random Number generation

- The map that associates thread ids and handles under Windows was previously
  declared as a file-local variable in Platform.cpp but could actually be
  referenced before it was initialised. The map is now accessed through a
  file-local function, that has the map as a static variable. This ensures
  that the map is valid before it can be accessed
- It looks like the RSA keyset may not be initially created on all machines.
  If the initial call to CryptAcquireContext fails, it is now called a second
  time with the CRYPT_NEWKEYSET flag.
Include structure and namespace changes

- Include files are now nested within a syscommon/ directory
- Namespace name changed from SysCommon to syscommon
- Renamed Utils to StringUtils and moved to the util namespace