A Martingale Framework for Detecting Changes in Data Streams