Bugfixes and small feature addition

Button: Renamed IsValidButtonID to IsValidButton.
Item: Fixed a return value bug in GetItemButtonID, it now returns
INVALID_BUTTON_ID if the item doesn't have a button instead of 0 which
was in fact a valid button ID.
Door: Small code change to allow players to interrupt a closing door to
make it open, and vice versa.