openshift.ks: Factor out repo configuration

Factor the repo or channel configuration out of the logic at the end of
the script and into the new configure_repos function.

Further factor the configuration out into configure_yum_repos,
configure_rhn_channels, and configure_rhsm_channels functions.
openshift.ks: Refactor repo configuration

In configure_repos, define new function predicates: need_optional_repo,
need_infra_repo, need_node_repo, need_jbosseap_cartridge_repo,
need_client_tools_repo, need_jbosseap_repo, and need_jbossews_repo.

In configure_yum_repos, configure_rhn_channels, and
configure_rhsm_channels, use these the aforementioned new predicate
functions.

This commit is not strictly refactoring; it has some functional changes:

• configure_rhn_channels will no longer configure priorities for
  channels that it is not adding.

• configure_rhsm_channels will disable the eap-5 channel right after
  enabling eap-6 and disable ews-1 right after enabling ews-2 instead of
  enabling eap-6 and ews-2 and then disabling eap-5 and ews-1.
openshift.ks: set up infra repo for named

In configure_repos, define need_infra_repo to be true when installing
the named component.  This change is needed because the installation
script now installs the yum-plugin-priorities package, which is in the
openshift_infrastructure and openshift_node channels, and so at least
one of these two channels must be enabled.
openshift-amz.sh: Fix generation

Make sed command in the rule that generates amazon/openshift-amz.sh disable
the configuration of the RHEL repo, as intended.  This rule has been broken
since commit 8457439d88003566a5a4c907f492789db4dd10e6, which added
whitespace that broke the regex match in the sed command.

Make the same change to the other sed commands in the same rule to make
them resilient in case of other whitespace changes.

Regenerate openshift-amz.sh.
Merge pull request #41 from Miciah/openshift.ks-refactor-repo-config

openshift.ks repo config refactoring