* Recommend boost >= 1.65.1 and gcc >= 7.4.0
* Require clang >= 4.0, or Xcode >= 9.0 on macOS
* Silence an ABI-related diagnostic message from gcc on armv7
* Update waf to version 2.0.21
* Make graphviz optional for building documentation
* Sync sphinx configuration
Change-Id: Ib271da841cd12e7595ae83d75bd0fc681f8c231f
This commit aims only at correcting building system and adding unit-test framework.
Existing test cases (ChronoSync) are disabled temporarily and will be fixed later.
Minimum changes are made, so that the code can be built successfully.
Compiling warnings will be resolved in a later commit.
Refs: #1495
Change-Id: Ibf7119bbd77b6307cb58bbee47b61d7a7312df98