Make UpdateChecker run asynchronously and not block startup

Closes #1049