Parameterizable client properties 

This patch allows a client to specify the product name and version to the server. Most client applications will not need or want to do this, so if these fields are not populated, the driver uses the current default values.