(#8193) Support new keytypes for ssh_authorized_key

Recent versions of openssh (at least openssh 5.8) support the following
keytypes in in the authorized_keys file: ecdsa-sha2-nistp256,
ecdsa-sha2-nistp384, ecdsa-sha2-nistp521, ssh-dss or ssh-rsa.

Add support for ecdsa-sha2-nistp256, ecdsa-sha2-nistp384 and
ecdsa-sha2-nistp521.
(#8193) Support new keytypes for sshkey

Recent versions of openssh (at least openssh 5.8) support the following
keytypes in in the authorized_keys file: ecdsa-sha2-nistp256,
ecdsa-sha2-nistp384, ecdsa-sha2-nistp521, ssh-dss or ssh-rsa.

Add support for ecdsa-sha2-nistp256, ecdsa-sha2-nistp384 and
ecdsa-sha2-nistp521.
(#8193) Add unit tests for new ssh keytypes

Add unit tests to prove that the ssh_authorized_key provider can parse
all different keytypes. This currently shows that the provider lacks
support for ecdsa-sha2-nistp256, ecdsa-sha2-nistp384, and
ecdsa-sha2-nistp521 keys.
(#8193) Add support for new ssh keytypes in authorized_key provider

The provider now correctly detects lines that describe an
ecdsa-sha2-nistp256, ecdsa-sha2-nistp384 or ecdsa-sha2-nistp521 key.
(#13117) Fix selmodule error on each_lines

This adds a test for selmodversion_loaded (which previously had no coverage at
all) and fixes the conflicting use of readline and each_line by choosing just
one.
Stub execpipe using StringIO

The real execpipe yields an IO object so this is more realistic as a test.
(Maint) Consistently use the same agent fqdn

Previously, the test would always fail when the rhel6-32-1 box was
reverted to its `git` snapshot, and the test executed. The box, for
better or worse, reports the following:

    [root@rhel6-32-1 ~]# hostname -f
    rhel6-32-1
    [root@rhel6-32-1 ~]# facter fqdn
    rhel6-32-1.puppetlabs.lan

The agent submits its report using the latter, but the test attempts to
retrieve the facts using the former:

    curl -k -H \"Accept: yaml\" https://rhel6-32-1:8140/override/facts/`hostname -f`"

And that always fails:

    Could not find facts rhel6-32-1

This issue does not occur when running the non-Windows acceptance tests,
because those jobs run on centos-55-386-1 and ubuntu-1004-32-1, which
don't have inconsistency in their domain as reported by facter and
`hostname -f`

This commit changes the test to request the facts from the master using
the same fqdn that the agent used in its report.
Merge pull request #581 from joshcooper/maint/2.7.x/fix-fqdn-rendezvous

(Maint) Consistently use the same agent fqdn
Merge pull request #580 from pcarlisle/ticket/2.7.x/13117-semodule-broken

(#13117) fix semodule broken by misuse of readline vs each_line.
(#3022) File type's force attribute's description is incomplete

Puppet always resists destroying directories unless you use force => true. The
previous description of the attribute said something noncommittal about
replacing directories with links; this commit describes its complete behavior.

This commit also improves the description of purge.
Merge remote-tracking branch 'daniel-pittman/refactor/2.7.x/4862-remove-the-event-loop-library' into 2.7.x

* daniel-pittman/refactor/2.7.x/4862-remove-the-event-loop-library:
  (#4862) Finally remove the event-loop library.
  (#4862) define_method is not a public method in Ruby.
  (#4862) `returning` is not a standard Ruby method.
  (#4862) Stop using EventLoop in the Puppet daemon.
Merge pull request #583 from nfagerlund/ticket/2.7.x/3022_force_attribute

Ticket/2.7.x/3022 force attribute
(#13380) Cron acceptance tests don't ensure cron actually installed

Add cron package resource to cron resource acceptance tests
Merge pull request #595 from jeffweiss/ticket/2.7.x/13380_cron_acceptance_tests_break_when_no_cron

(#13380) cron acceptance tests break when no cron
Merge pull request #470 from daniel-pittman/bug/2.7.x/12479-bad-undef-vs-regex-match-behaviour

Bug/2.7.x/12479 bad undef vs regex match behaviour
Merge pull request #597 from stschulte/ticket/2.7.x/8193

ssh_authorized_keys should support new key types
Merge branch '2.7.x'

Conflicts:
	lib/puppet/daemon.rb
	spec/unit/daemon_spec.rb
	spec/unit/parser/ast/leaf_spec.rb
	spec/unit/provider/package/dpkg_spec.rb
	spec/unit/util/settings_spec.rb
Merge pull request #601 from cprice-puppet/master

Merge 2.7.x
remove literal tabs from defaults.rb

It was brought to my attention that there were a lot of literal
tab characters in defaults.rb.  Cleaned them up.
Merge pull request #605 from cprice-puppet/cleanup/master/remove-tabs-from-defaults

remove literal tabs from defaults.rb