Learning to break things: Adaptive testing of intelligent controllers