(#19877) Add support the openwrt service provider

OpenWrt has its own unique initscript conventions, as well as
its own support for enabling and disabling services. This commit
adds support for them and for being the default provider for
OpenWrt platforms.
(#19877) Added opkg as a package provider

Opkg is the package manager for OpenWrt. This commit enables the
opkg package provider and sets it to be default for openwrt platforms.
(#19877) Enable automatic package list downloading for opkg

On OpenWrt package lists do not persist across reboots, often
requiring one to run "opkg update" before running opkg operations.

This commit enables detection for this, so puppet will fetch a
package list if it hasn't been downloaded yet, enabling package
installs to proceed as expected.
Fixup openwrt service specs

  - replaced instance variables with `let` blocks
  - Used `described_class` helper method instead of passing around the
    class
  - Ensured that '/etc/init.d' is correctly stubbed