support unit testing

単体テストをサポートしました。
build時のオプションに`--test`を付けると、build前に単体テストを実行します。
テストに失敗するとbuildに進みません。

`--test=(テストツール名)`とすることでテストツールを切り替えられるようにしています。
が、現時点ではTio2しか対応していません。