Major refactoring and additions

+ Added internal enumeration 'vProto.Packages.InternalRequestType' for
types of internal requests;
+ Added internal collection classes for handling requests and responses:
'vProto.Collections.PendingRequestCollection' and
'vProto.Collections.PendingResponseCollection';
+ Added locking to requests and responses to make their instances
reasonably thread-safe;
> Changed request handling code to use two pairs of collections for
general and internal requests;
> All timeouts now use 'System.TimeSpan' objects - no more 32-bit
integers representing milliseconds;
> Reques and response objects are given an empty payload by default now
to facilitate sending data-less requests and responses;

>> HEAVILY uniformized usage of namespaces across the whole project!