Allow xvfb to be used independently

This commit allows display::xvfb to be used independent of
display::x11vnc.  For example, in cases where xvfb is used for automated
testing without human interaction, this could be desirable.

- This commit parameterizes the display::xvfb class to allow for
  independent use.
- The init templates were updated to use local variable scope instead of
  fully-qualifies scope.  With class paramters creating local variables,
  fully qualified scope is not needed and was referencing the base
  class' parameters anyway.
- This commit also parameterizes the package and service names for
  'xvfb' for instances where this is desirable to customize (e.g. custom
  built packages).
- Finally, this commit also removes some trailing whitespace characters.
Add option to run xvfb as custom user

This commit allows running xvfb as a custom user (e.g. non-root).

- A 'runuser' parameter was added to the display::xvfb class to specify
  the user, which defaults to 'root'.
- An 'fbdir' parameter was added to the display::xvfb class to allow a
  custom Xvfb 'fbdir'.  Previously, this was hard-set to '/var/run',
  which could result in issues as non-root users.  It also appears this
  is most commonly set to a temp directory (e.g. /tmp or /usr/tmp).
  Defaults to '/tmp'.
- The RedHat init script template was updated to utilize the new
  paramters. Specifically, this passes the 'runuser' to the 'daemon'
  init function and updates the command-line option for 'fbdir' to use
  the custom value.
Remove unused 'runuser' logic

- This commit removes the logic to determine how to run operations as a
  specific user.  This is not needed here, as the 'daemon' init function
  allows us to specify a user and the other commands executed by the
  init script don't need to run as the custom user.
Add custom xvfb user support for Debian

- This commit adds support running xvfb as a custom user on Debian
systems.
- Add a 'status' function to the Debian init script to check the service
status.
- Allow a custom 'fbdir' parameter for Xvfb on Debian.
Default parameter values for xvfb

- This commit sets the default values for xvfb parameters for both the
  base class (init.pp) and display::xvfb class from params. This
  centralizes the default values.
- Also add manifest documentation for the new paramters.
Adjust resource relationships for logical chain

This commit adjusts the resource relationships for the init script and
service for xvfb to use the require/subscribe pair for consistency.

Previously, the file resource required the package and notified the
service.  While this is fine and functionally the same thing, using one
pair (rather than a combination) arguably makes more logical sense. E.g.
require/subscribe vs before/notify.

Additionally, this commit uses a static resource title for the init
script's file resource for reference clarity.
Add default parameter values to params class

This commit adds the default class parameter values to the params class,
as currently referenced by the base class and xvfb.
Update readme to document parameters

This is an initial update to the README to document the new parameters
for display::xvfb and xvfb.
Add initial FreeBSD support for xvfb

This commit adds the package name for xvfb for FreeBSD.

More to follow.
Remove trailing whitespace

This commit removes trailing whitespace from the RedHat x11vnc init
template.
Parameterize x11vnc; validation; FreeBSD support

Parameterize display::x11vnc so that it may be used independently of the
other classes in this module (e.g. just manage x11vnc, not xvfb).

Add related parameters to the base class (display) that can be consumed
by display::x11vnc.

Add manifest documentation for new parameters.

Add initial parameter validation.

Improves x11vnc init script templates to support running as a custom
user and a custom executable path. Also add 'status' support to x11vnc
on Debian.

Initial FreeBSD support. More to come.
Merge branch 'freebsd'
Remove duplicate FreeBSD block in params

This commit removes the duplicated FreeBSD case in params.
Allow custom xvfb executable path

This commit adds support for providing a custom xvfb executable path.

This is backwards-compatible and chooses sane defaults for RedHat,
Debian, and FreeBSD.

This adds parameters do display and display::xvfb

Also updates the init script templates for xvfb to use the custom path.
Comply with puppet-lint

This commit removes extra whitespace in hash rocket alignment, which
caused puppet-lint to complain.

Also reduce line length in tests/init.pp for puppet-lint compliance.
Parameterize environment file

This commit parameterizes the environment file path to add flexibility.
Fix xvfb bin; use init path var

This commit fixes the default path to the xvfb binary on RedHat and
Debian, which is capitalized (Xvfb vs xvfb).

This also makes use of the display::params::init_path variable to
properly place the init script on debian for xvfb.

Also use the $service variable for the PID filename and service name.
Fix xvfb path for RedHat and Debian

This commit fixes the path to the xvfb binary on RedHat and Debian.
Use variable for init script path

This commit utilizes the 'init_path' variable from params to correctly
set the path to our supported OS' init script path.
Add init scripts for FreeBSD

This commit adds init script templates for xvfb and x11vnc for FreeBSD.