Combinatorial, rational, and bioinformatics approaches to engineering cystine-rich proteins