Replace struct timespec (arch-dependent long/time_t) with fixed-width
int64_t pairs in ft_shared_s so that 32-bit and 64-bit processes
interpret the same shared memory layout identically.
Fix ftruncate calls that allocated sizeof(uint64_t) (8 bytes) instead
of sizeof(struct ft_shared_s) (64-80 bytes) for the shared memory
region. Fix munmap in ft_cleanup using the wrong size.
Add struct layout test and cross-process shared memory functional test.
Since SmartOS is close to SunOS, it's possible that these changes make
libfaketime build and run on other SunOS-like platforms.
These changes were tested on MacOS X and Ubuntu 12.04, and no regression
appeared during testing.
--exclude-monotonic prevents faketime from overriding
the clock with id CLOCK_MONOTONIC when using clock_gettime.
Add DONT_FAKE_MONOTONIC env variable to libfaketime that
has the same effect.
Add functional test for DONT_FAKE_MONOTONIC support.
Used (emacs) M-x untabify for whole faketime.c as the prevailing
style in that file used spaces for indentation.
Used M-x delete-trailing-whitespace to all files that had either
trailing whitespace or empty lines at the end of file to remove
those.