Protein labeling and conjugation