refactoring, multi-pkey for AbstractRecord, more...

some more refactoring,
Now the FetchByID and similar functions of AbstractRecord have support
for primary keys consisting of more than one field, and column/values as
arrays of columns and matching values.
Insert, Update, and Read can now be implemented automatically by default
if not overridden. Still it is recommended to override for best
performance.