Robust Encodings: A Framework for Combating Adversarial Typos