Initial support for compiling on OS X 

This is ready for 1st round of review. 
uuid_t needs to be renamed as it clashes with system uuid_t definition on OS X.
As clang compiler is more restrictive than gcc, I had to disable some checks.
At some places i replaced size_t with ssize_t, as those variables are used for storing -1 value.

ESTRPIPE, EBADFD and EMEDIUMTYPE are not existing on OS X. Can we somehow get a rid of them?