Fix cygwin build which was failed due to snprintf
Update CTestConfig.cmake to fix memcheck.supp
Update memcheck.supp

[skip ci]
Update docs, use 4-space indentation for code fragments
Add a section for clang to doc/make/ccache.md
Update ccache.md

fix typo [skip ci]
Update ccache.md

Add reference [skip ci]
Update todo.md
Update todo.md
Update doxygen process, only update changed files
Update binary uploading process

- fix commit name for OSX & Windows
- fix NOW to use specific time zone, PST
- upload compressed binary for archiving
Attempt to suppress valgrind warnings on Travis

- don't understand why cmake on travis doesn't pick up the memcheck.supp
file. It works on my local machine.
Use "sprintf" instead of "snprintf" because cygwin doesn't support "snprintf"
Use C++11's <random> in pdeque/pvector tests (cygwin doesn't support rand_r)
Fix typo in .travis.yml
Update .travis.yml to use ninja instead of GNU make

There is a bug in cmake. With GNU Make, it ignores the memcheck suppressions
file (src/memcheck.supp), while it works well with ninja.
Update .travis.yml to build ninja from scratch
Update travis.yml, disable parallel build on travis-ci
Update .travis.yml

- clang++-3.3 has a bug on travis when it uses ninja for a release-build.
- let's use ninja for memcheck builds and GNU make for the rest of builds.
Use latest version of cmake in travis-ci