Added awaitable request sending method

+ Added method 'vProto.Request.SendAsync', which returns an awaitable
'Task<byte[]>' which will yield the result of the request, whichever it
will be;
+ Added property 'vProto.Reqeust.AwaitingResult', which is true when the
request is sent but not responded, failed or timed out - used to correct
a stupid judgment error in pipe event handling functions;
> Renamed 'vProto.Request.Send' to 'vProto.Request.SendFluent', to avoid
possible confusion that the method is synchronous;
> A check for 'vProto.BaseClient.IsConnected' is added when sending
packages, to avoid null reference exceptions;
> Requests are now aborted instead of sent when having 'Disposed' called
on them - I now believe that sending the request on disposal is against
the idea of disposal - but requests are still disposed of when sent or
aborted.