Fixed being able to walk out of bounds from water

--Stupid misplaced parentheses
--Also, renamed finishAction() to Build() and refactored necessary stuff
into Upgrade()
Beacon destroys itself if you stop building

--Need to add delay
--Added AbortBuild() function
Added delay before beacon self-destructs
Added delay before losing upgrade progress

--Also added losing upgrade progress in the first place (previously,
upgrade progress was never lost)
--No visuals to indicate upgrade progress as of now - need to add this