Progress in terahertz nondestructive testing: A review