dal.py: Table class: validate_and_update_or_insert method created, validate_and_update minor changes

dal.py: Table class: validate_and_update_or_insert method created, and minor changes in validate_and_update

· these methods should be working even in case of tables with multiple primary keys
· the validate_and_update_or_insert method assumes that in case that no primary keys are provided, all table fields marked as "required" will be used for searching the record to update (or to insert, in case that the record doesn't yet exist)