Added PK value test to Update()

Added checks that calls to Update for a table with an auto incrementing primary key actually have a value for the primary key. If they don't, an exception is thrown as it means the calling code should have done an Insert either first or instead of the call to Update.