Merge pull request #8 from datacratic/TRIVIAL-wakeup_fd_missing_header

Added missing header to wakeup_fd (TRIVIAL)
PLAT-605: make use of "localtime_r" rather than "localtime", which is not thread safe and can cause deadlocks within the libc
trace_exception: log the exception time as UTC
PLAT-484: allow deferred exceptions for uri handlers
PLAT-484: adapted s3 uri handler to accept an exception callback
added ML::distribution(std::initializer_list<F>) constructor
setting fortran compiler to gfortran by default in .mk so we dont have to set it in higher level libs
antoi: accept numbers starting with "+"
bit_range_ops: replace "int" indexes with "shift_t" ones to avoid signing errors
bit_range_ops: reverted slightly too zealous modification
Merge pull request #13 from datacratic/makefile_changes

setting fortran compiler to gfortran by default in .mk so we dont have t...
Bit_Buffer::advance: take a ssize_t parameter to allow negative integers as well as values > INT_MAX
added futex handling for atomic<int> vars and alikes
TRIVIAL missing header
PLAT-747: enable exception tracer registration and validation at runtime

This is done by requiring "exception_tracer" to return bool and to be initialized at nullptr. The regular exception tracer thus becomes "default_exception_tracer", which is executed when the former is not "installed" or returns false.
moved exception_handler.cc back into libarch
Merge branch 'master' of github.com:datacratic/jml