No Free Lunch But A Cheaper Supper: A General Framework for Streaming Anomaly Detection