Added double cancellation

Added timeout cancellation instead of not-executing during pending call, corrected reference to newVal. This causes locally pending requests to be re-created.
Added execution cancellation, this allows executing request to be cancelled while performing new request.