Principles of Terahertz Science and Technology