Raw input reader command execution "fixes".

- Primarily working around an issue that occurs when threads
  concurrently create pipes and fork a child process.  See comment in
  code...

- Other minor cleanup of the code:  making sure the child process calls
  _exit() versus exit(), limits itself to few select system calls before
  the exec(), and closes more unused file descriptors.
Input framework unit test adjustments.

- Generally increased the time allowed before they timeout.

- For tests w/ a clear termination condition (most of them), made
  timeouts result in a test failure.

- Seemed to be a race in some cases between tests generating output and
  the input reader stream getting removed/closed, so moved stream removal
  closer to termination time, when all output should be available.
Merge branch 'master' into topic/jsiwek/misc
Add a diff canonifier to a test in need of it.
Fix a compiler warning regarding strncat misuse.
Make mem leak tests able to time out.

This is a workaround for what seems to be a deadlock in gperftools
(seen in their 2.0 and 2.1 releases) that happens occasionally.
Fix a unit test.
Merge branch 'master' into topic/jsiwek/misc
Fix a deadlock w/ SQLite.

sqlite3_shutdown() was called a bit too early, when SQLite-using
threads may still have yet to fully shutdown.
Merge branch 'master' into topic/jsiwek/misc
Merge branch 'master' into topic/jsiwek/misc
Unlock mutex in raw input reader error cases - BIT-1060
Merge remote-tracking branch 'origin/topic/jsiwek/misc'

* origin/topic/jsiwek/misc:
  Unlock mutex in raw input reader error cases - BIT-1060
  Fix a deadlock w/ SQLite.
  Fix a unit test.
  Make mem leak tests able to time out.
  Fix a compiler warning regarding strncat misuse.
  Add a diff canonifier to a test in need of it.
  Input framework unit test adjustments.
  Raw input reader command execution "fixes".
Updating CHANGES and VERSION.