This patches the version component to return a version of 0.0.0 if it
fails to detect a version. This allows the update script to install the
binary if it does not already exist or is corrupted.
Current gitea releases do not ship with the binary in the archive
executable. This results in the service failing to start after updating.
This commit ensures the binary is always executable.
Attempting to update Gitea using the binary mode results in an exception
because `isTool` did not have a `self` parameter. This fixes the issue,
allowing binary updates.