add an option to be able to skip primary keys when QQSelect is used

Currently when using QQSelect, the primary key(s) of the table are automatically added to the select statement. This is necessary for Expand functionality. However, it's not required for a simple select. On the other hand, having the primary keys makes it impossible to use the distinct clause in a meaningful way. For example, if one wants to select all the distinct FirstName's from the Person table, it's currently not possible with QQSelect and QQDistinct.

This patch adds an option to the QQSelect class to skip the primary keys. The option is off by default for backward compatibility, as well as to make sure Expand still works in the default case.