Describir: History in Data Structures: Faster Data Structures Through History Independence and Adaptivity