Query cancellation & timeout

also, I *think* this may need to go into druid-api