Renamed Program.set_var to set_vars, cleaned it up and improved its docs.