Added Valgrind MemCheck support.

Valgrind MemCheck usage is turned on by default. User can turn it off
by doing one of the following:
* Setting SKIP_VALGRIND=y in the environment and exporting it. Useful
  for temporarily disabling Valgrind.
* Creating a RELEASE file in the source tree. Useful to permanently
  disable Valgrind on a release.

Valgrind unavailability will also be automatically detected and
disabled accordingly.

The VALGRIND_EXTRA variable can be used to append options to Valgrind,
like specifying suppression files.
Added sample code to see Valgrind in action.

Just a sample, commented code with a malloc(16). It can't be uncommented
because it wouldn't pass the test.