REHASH: A Flexible, Developer Focused, Heuristic Adaptation Platform for Intermittently Powered Computing