Congratulations and Best Wishes to Charliss and Tyler on their wedding.

Auto code generation for record replay wrappers.

- The idea is to minimize the efforts needed for introducing new wrappers. At
  the same time, it also makes the debugging simpler by removing the MACRO
  jungle. These system calls wrappers are now described using a simple grammar.
  A python script (wrappers.py) then takes these descriptions and generates the
  C/C++ code in appropriate files to be used by FReD.

- There is still some scope to extend this work to auto generate some more
  code. One such extension will auto-generate most of the _simple_ wrappers.

- The python script wrappers.py and the auto-generated code resides in
  record-replay/autogen. The filenames are by no means final, and should be
  changed as needed.

- Here is a list of file that generated by the python script:
  fred_wrappers_raw.h
  fred_read_log.h
  wrapper_util.h
  wrapper_util.cpp
  syscallsreal_helper.c
dmtcp_process_event() signature updated
Minor changes to fred_read_log
Updated to reflect DMTCP:trunk(r1752)

DMTCP_EVENT_* updated.
fred_record_replay_enabled() added.
Added pthread_mutex_{lock,unlock} events as optional
Added wrappers for putc, printf etc.

Makefile updated.
Misc fixes for wrappers.py
Bug fix for race between reaper thread.
Changes to ThreadInfo

pthread_create() calls ThreadInfo::registerThread() to initialize data
structures for to-be-created thread. It now passes pthread_t as well.
Kill Semaphores on PreCkpt, re-init on Resume.
Minor printf format fixes for fred_read_log.
Add and enable two multithreaded tests.

Both are failing at this revision due to ThreadInfo bugs.
Fix several thread creation/destruction races.

These have been around for a while, but are only now (with the performance
increase) coming to the surface.
Small changes to many-threads tests.
Two aliases for open() calls we weren't capturing.
Fix fred_read_log.
Lock protection for ThreadInfo.
Simplified pthread_create/start_wrapper.
Created thread-local variable for ThreadLocalData
Remove pthread_join_retvals from LIB_PRIVATE scope

It's only needed in pthreadwrappers.cpp.
Add a new record-replay test which is failing.

Will fix the bug in a future commit. Also changed the way pass/fail messages
are printed in fredtest.py.