ProSpeCT: Provably Secure Speculation for the Constant-Time Policy (Extended version)