Zaslat SMS: Fundamentals of thermophotovoltaic energy conversion