Merge tag 'pallet-0.8.0-RC.3' into develop

pallet-0.8.0-RC.3
Updated version for next release cycle
Add emacs indent info for on-one-node
Add execute-and-flag-metadata to pallet.api

Produces a map that when applied to a phase will ensure the phase
is executed only once.
Fix error detection in flag-and-execute
Make update of /etc/hosts optional in set-hostname

If DNS is set up, we may not want to configure /etc/hosts on hostname
changes.
Allow scripts to set interpreter arguments

When using the exec action, passing a sequence to :interpreter-args
will result in these flags being used with the interpreter to invoke
the script.
Add language to temp file extension for scripts

Some interpreters require a specific extension.
Add a :type to excpetion on schema fail
Fix error checking in execute-and-flag
Add count-by and count-values to pallet.utils
Ignore alphas in version numnbers

When building a version vector, ignore alpha characters in components.
Ignores version components that contain only alpha characters.
Fix if-flag for initd service implementation
Allow passing og ssh-pty option
Add cause to phase-error exception
Add repository multimethod

The multimethod provides an abstraction for adding a repository to a
package manager.
Add :repository to :package-source crate-install

Allow adding well known repositories as a package source.
Fix test target-server
Normalise group setting in etc-default
Add :provider in node-spec

Allow provider specific options under the :provider key in a node-map.
The value should be a map where each key is a provider keyword, and
the value is a map of provider specific options.