(#12460) use replace_file for the .k5login file
Previously this hand-coded replacing the .k5login file; Replacing that with
the standard API ensures consistent, safe, and atomic updates of the target
file.
It also reduces the cognitive burden of the provider, since the semantics of
the standard method are clearer than the semantics of the type.
Finally, this commit adds some tests for the type, and the inline provider, to
help ensure that the type continues to work into the future.
Signed-off-by: Daniel Pittman <daniel@puppetlabs.com>