organize headers
Use stdint.h types and ssize_t.

Note that it is not possible for pwrite64/pread64 to return a value larger than
ssize_t in 32 bit mode. So also using ssize_t for full_(pwrite64|pread64) is
okay.
Merge duplicate code into macro.
Merge remote-tracking branch 'ccl/pull/565/head'

* ccl/pull/565/head:
  Merge duplicate code into macro.
  Use stdint.h types and ssize_t.
  organize headers