* better algorithm, more reasonable interface
* namespace => struct
* stability improvement
~ fix missing head files and warnings
~ use std::thread instead of std::async
~ fix namespace
- deprecate SoftSemVar, improve cmake script
* support more stl containers, IsBigEndian()