Cancel WebRequest on timeout

Make sure that the WebRequest is properly aborted when a timeout in an
async operation occurs.
Merge branch 'master' of https://github.com/dylanvdmerwe/ServiceStack