Small fixes to two rare problems

Button:
Fixed a bug where the CurrentlyNearIndex wouldn't be emptied if a player
quit while standing at a button.

Shifted around LeaveDynamicArea processing code.

Item:
Added a world check to CreateItemInWorld, if the item already exists in
the world, the function will stop and return -1.

Altered changed invalid item type return to -2.

Fixed a small issue with the ALS hook for CreateItemInWorld.