refactoring

重构代码；模块化更加清晰，增加了异常处理，选项与配置等等；使用了Boost库