[Async] Add test of nested AnyEvent.
[Async] Add AnyEventPoller.
[String] StringConvertible inherites boost::equality_comparable to compare with std::string / string literal.
[Test][Android] Add String test suites.
[Error] You may create and compare an ExceptionPtr / AnyFailurePtr with nullptr.
[Error] (refactoring) Hide some ExceptionPtr inline functions into Error.cpp .
[Test] [Android] Add Error test suites, and fix some issues in NDK compiling.
[Error] Add ExceptionPtr::operator==() to itself.
[Error] Add ExceptionCatcher::AnyFailure() and Rethrow().

- CatchException now can recognize an AnyFailure exception.
[Program] Fix bug: ProgramOptions parsing failed when no positional options are defined.
[Program] Add explicit Bool conversion to ProgramOptionValue, for its existence checking.
[Data] (refactoring) Improve comments of LookupTable; in tests the table variables should be const.
Merge branch 'master' into ndk_r10c
[Test][Android] Improve RunTest class:

- RunTest is a static variable, only create once.
- Move trace and alert initializing to RunTest ctor.
- The running thread is detaching.
- You may use RUN_SUITE define to run only one suite.
[Task] [Android] Use std::thread with detach() to emulate std::async().