Add SelectForeignKeyWidget

* TableController.setWidgetForColumn to allow choosing widgets per column
* Make TableService.getPrimaryKeysFromItem public so it can be used in
  SelectForeignKeyWidget
* Use it in PetClinic's PetController and VetSpecialtyController