#184 Review PR

This PR is created for initial reviewing of the changes of #184 because #184 includes many external changes and hard to review.
NTA_CHECK was used to stop AppVeyor from failing a build due to NTA_THROW, hence sending certain output via LogItem::Info This was with the old test system, I'll revert these changes now the new gtest is merged and see how AppVeyor fairs.