Added joins and group by feature

Dieser Pull Request ermöglicht es JOIN und GROUP BY Statements über die DCA Einstellungen zu deklarieren. Das ermöglicht es, auch in den ForeignKeys der eigentlichen ForeignTable zu suchen. Speziell habe ich das für meine Erweiterung [translation_fields](https://github.com/iCodr8/contao-translation_fields) benötigt. Ich habe es so geschrieben, dass es auch für andere Fremdtabellen verwendet werden kann.

Außerdem habe ich noch einen Callback namens list_value_callback hinzugefügt. Mit diesem können die einzelnen Werte der Suche verändert werden.

Schaut euch den Code mal an und testet es. Ich würde mich sehr freuen, wenn ihr den PullRequest bestätigen würdet. Vielleicht habt ihr auch noch ein paar Ideen, um es noch zu verbessern.

Getestet unter Contao 3.2.4

Verwendungsbeispiel:
```'fieldname' => array
(
	'label'                   => &$GLOBALS['TL_LANG']['tl_tablename']['fieldname'],
	'exclude'                 => true,
	'inputType'               => 'tableLookup',
	'eval'                    => array
	(
		'doNotCopy'           => true,
		'tl_class'            => 'clr',
		'foreignTable'        => 'tl_foreign_tablename',
		'fieldType'           => 'checkbox',
		'listFields'          => array('field1', 'field2'),
		'searchFields'        => array('field1', 'jtf.content'),
		'joins'               => array
		(
			'jtf' => array
			(
				'table' => 'tl_translation_fields',
				'jkey' => 'fid',
				'fkey' => 'title'
			)
		),
		'sqlGroupBy'          => 'jtf.fid',
		'matchAllKeywords'    => true
	),
	'list_value_callback' => function ($varValue, $strField)
	{
		return \TranslationFields::translateValue($varValue);
	},
	'sql'                     => "blob NULL"
);```