fixes #4056 - add checksum selection for custom repos

note that this also does a few things:
  * hides gpg key for non-yum repos on new repo and repo info pages
  * moves the regeneration of metadata during unprotected changing (and now checksum changes)
     to an async task on update
As part of this the repodata generation "subtask" was causing the tasks list column to be very huge
https://github.com/theforeman/foreman-tasks/pull/88 was opened to resolve this, but is not needed when
testing this commit
Merge pull request #4681 from jlsherrill/4056

fixes #4056 - add checksum selection for custom repos