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
Is it `checksum_type` or `checksum` ? The API documentation above would suggest the latter.