Design and performance of a programmable-temperature scanning tunneling microscope