Makes the record ids emitted by SqlStreamPipe configurable

In commit 93d6fd19391039595033c14a936b72ebd69940f7 a change was introduced to
use the values of one column in the result set as record ids. The same commit
added a setter to SqlStreamSource to allow the user to control which column
is used as the source of the record ids. This commit adds the same functionality
to SqlStreamPipe.
Refactored constructors in the *Query classes

Removed the JNDI datasource support from BaseQuery. Users of the *Query classes
now have to aquire a database connection themselves. JdbcUtil provides a utility
function (getConnection) to do this.

This commit reduces the number of constructors in the *Query classes and also
helps to simplify statement/query instantiation in the Sql* modules.
Fixes bug in SqlStreamSource.closeStream

When closeStream is called without calling process before a NullPointerExcep
is thrown because the statement is only initialised in process. This commit
adds a check whether statement is not nullFixes bug in SqlStreamSource.close
Makes the record ids emitted by SqlStatementPipe configurable

In commit 93d6fd19391039595033c14a936b72ebd69940f7 a change was introduced to
use the values of one column in the result set as record ids. The same commit
added a setter to SqlStreamSource to allow the user to control which column
is used as the source of the record ids. This commit adds the same functionality
to SqlStatementPipe.