DBObject Error fix

First, changed empty() function to is_null() where more applicable.

Set an option to be able to set the ID back to null if passed in 0.

When deleting an object, after successful deletion, change the ID to
null so if you save that same object, it will insert a new one instead
of trying to update a non-existent one.
Course update

Use is_null function instead of empty where more applicable.
User update

Use is_null instead of empty where more applicable.
Shot Change

Use is_null instead of empty where mor applicable.

When saving the shot, if it is already in the database, first delete
it. The problem was, if nothing had changed, the update would return
false and ruin the round save.
Hole Change

Use is_null instead of empty where mor applicable.

When saving the hole, if it is already in the database, first delete
it. The problem was, if nothing had changed, the update would return
false and ruin the round save.

Also make sure every shot is saved properly.
Round Change

Use is_null instead of empty where more applicable.

Also fixes update error.