This revision should fix the bug we were seeing with libmtcp.so not being
restored at restart time due to an address conflict with vdso. Fix is to
munmap vdso on restart.

Also, a minor fix to the handling of the argv array when we need to re-exec
due to the address conflict.
MTCP now checkpoints signal handlers if not running under DMTCP.

Standalone MTCP has not been checkpointing signal handlers ever since DMTCP was
created.  However, this functionality has now been restored.  Currently, if
DMTCP is present, DMTCP will handle signals, but it may make more sense for
MTCP to always provide this functionality, as signals are local to a single
process.

A new variable has also been added to mtcp.c called dmtcp_exists.  This variable
is set by DMTCP, and tells MTCP that it is running under DMTCP.  This is a much
more scalable approach to this problem, as it allows both DMTCP and standalone
MTCP to exist simultaneously on a single system (as opposed to the old approach
of using a preprocessor conditional).
execwrappers.cpp:forkChild() had a bug (order of args reversed when called)
   This created an extra jassertlog file after exec, but was otherwise harmless.
At the same time, there are several cleanups here.
  mtcp/mtcp.c had DPRINTF string missing its parameter. So would print garbage.
  Some spelling/grammar corrections.
  Some JASSERT/JTRACE msgs: Capitalize first word of string and end in period.
  Standardize spacing in some JASSERT/JTRACE msgs: spaces between args
  CleanupWorker -> cleanupWorker
  Instance -> instance   [ caused many changes.  Before Instance was mostly
       capitalized and lower case for some classes; follow C++ convention now. ]
Fixes affecting only when DEBUG is defined.
Correctly print out full size of segment even if more than 32-bit quantity
Logic was wrong about when to print out WARNING about end of break and [heap]
CFLAGS = -DDMTCP_DEBUG now will automatically set -DDEBUG
Fix for last revision
Minor bug fix:  DMTCP -> DMTCP_DEBUG in mtcp_restart.c
 _real_sigXXX -> mtcp_real_sigXXX for the three fncs defined by MTCP
 eliminate compiler warning in mtcp/testmtcp.c
 restore comment describing thread of control of clone() (accidentally
	deleted in revsion 592)
 lots of cleanups of indentation, style, in mtcp/mtcp.c
mtcp_kill_ckpthread restored (accidentally deleted in revision 588)
shared segments backed by file with exec permission (e.g. gconv-modules.cache)
  now handled properly.
dmtcp_checkpoint.cpp :  if RLIMIT_STACK > 1/4 GB, write a warning message.
Add a few comments to make clearer the logic of cases restoring
  segments that may be MAP_ANONYMOUS, MAP_SHARED
Clean up some of formatting in mtcp_restart_nolibc.c
rlim.rlim_curr : Change 262134 -> 256*1024*1024 (FIX UNITS:  KB -> bytes)
  Prior to revision 516, mtcp_printf always used dmtcp_info_stderr_fd .
In revision 516, it was intended to use STDERR_FILENO in standalone
mode when DMTCP was not poking into dmtcp_info_stderr_fd, but the
#ifdef ... #else ... #endif logic was reversed.
  For glibcsystem.cpp, a comment was added why we copy the code from libc.so.
- Fixed a bug which caused 'ssh' process to run under checkpoint control in a
  recursive manner.
- Signal checkpoint thread only once and wait for the *destroyDmtcpWorker*
  lock.
- Preparing for new release. Bumping version number to 1.1.8.
Convince gcc to stop 'noreturn' warning in mtcp_internal.h
Cleaning up filenames:  signalwrapers.cpp -> signalwrappers.cpp,
              		dmtcpapi.cpp -> dmtcpawareapi.cpp
Stop 'noreturn' compiler warnings about _real_exit in syscallsreal.c
dmtcp_checkpoint now checks if executable is statically linked, and issues
  a warning if so.
Corrected comment in glibcsystem.cpp (and execwrappers.cpp refers to comment).
Bug fix for last revision.  Had to temporarily unset LD_PRELOAD before system()
And cleaning up after last two revisions.
Created nosyscallsreal.cpp to define _real_XXX() to just call XXX() in libc.so
  dmtcphijack.so now uses wrappers and syscallsreal.cpp, while all other
  executables use nosyscallsreal.cpp.  Code is cleaner, and it will make
  it easier to eventually split dmtcpworker.cpp so that it has only the
  functions needed for dmtcphijack.so.  Similarly, connection.cpp and
  kernelbufferdrainer.cpp are strong cadidates for similarly being split.
dmtcpcoordinator.cpp was slightly reformatted (avoid going past 80 columns).
A call to dlopen/dlsym in jassert.cpp was eliminated by using _real_XXX()
  mechanism already being used in jsocket.cpp.
dmtcp_checkpoint.cpp : fixed cause of extra JNOTE() (had failed to close fd)
Many DMTCP commands don't need -ldl (since improvement from last version)
  or -lpthread.  Remove unnecessary linking to library.
Improve working in one JNOTE msg in dmtcp_checkpoint.cpp