Use CommaAggregator for any AbstractClient clients

The Desk.com API expects multiple values to be specified with
comma-separated values, so all clients that inherit from AbstractClient
should use the CommaAggregator.
Allow non-array single values in array parameters

A primitive may be used for the value of a parameter that requires an
array, it will be automatically wrapped in an array by the PreValidator.
This will then undergo standard validation according to the array items,
as if it had been originally passed in as an array.
Improved validation of GetCases parameters