De Novo Design of Protein Nanoparticles with Programmable and Tunable Function