More logging for touchdown branch
Adds a timeout to updating touchdown branch

Conflicts:
	app/models/project.rb
Updated sidekiq-failures gem because the previous sha was not found in the repo anymore when testing.

Conflicts:
	Gemfile.lock
Fix specs

Conflicts:
	spec/controllers/registrations_controller_spec.rb
Run ProjectTranslationAdder only when necessary
Remove a hack that interferes with test_after_commit gem
Fix a bug where commit.compile_and_cache_or_clear was never run.

It was never run because it returned immediately if "ready_changed?". But the hook is a after_commit hook, and so ready_changed? will never be true.
This seems to have gone unnoticed because after_commit hooks were converted to after_save hooks before. Now, we stopped that conversion, and we use the test_after_commit gem.
Remove add_or_remove_translations hook for keys. Adding/removing translations are done through KeyCreator and ProjectTranslationAdder workers
Move github and stash webhook pingers to after commit hook from after save hook.

Fixes https://jira.corp.squareup.com/browse/SHUTTLE-357.
More project specs
Removes ProjectReadinessRecalculator because it was not being called anywhere.
Use the after-commit-on-update gem to call after_commit on update in observers
Quick fix to enable searching for locales with country codes
Fixes translation_workbench refocusing on itself bug
Add an edit-button to translation page, visible only to translators.
Display edit translation page to translators when they click on an issue_url
Replace cancel button on issues. Re-structure/simplify the UI

Fixes https://jira.corp.squareup.com/browse/SHUTTLE-338
Update has_metadata_column
Move the task of migrating import_errors to ImportFinisher

Conflicts:
	app/models/observers/commit_observer.rb
	lib/import_finisher.rb
Record import_errors more generically than before.