20282 - Puppet agent; nodes file with spaces

Identities can only match /^[\w\.\-]+$/ which is enforced in the config
class.

The flatfile discovery method exist so that someone can put a bunch of
identities in a file and use that for discovery, thus the identities
have to adhere to the same rules but this check was never done which in
some circumstances could result in incorrect 'No responses from' errors
etc.

This commit enforces the same check when reading flatfiles resulting in
an error to the user when they have an error in their file
20388 - Mcollective should have sane defaults for configfiles on windows

This commit adds sane defaults for the server.cfg and client.cfg files.
The other configuration files can then be specified in those two files.
As these merely add defaults, any commandline flags for configfile
location will override the default.
20388 - Mcollective should have sane defaults for configfiles on windows

changelog
20059 - Data matcher logs bad errors when query returns nil

In the past when a data query field did not get assigned a value it
will default to nil which would log an non descriptive error when it gets
compared.

Data query fields that default to nil will now immediately return false,
meaning that all unset query values will evaluate to false.
20059 - Data matcher logs bad errors when query returns nil

changelog update
maint: Update a few orphaned links to marionette-collective.org

These links still live but the site's folded into puppetlabs.com
so they were 404. This commit updates the text to point at the distro-specific
dependencies repo and changes the DepRPMs link anchor to point at
yum.puppetlabs.com.
maint: update testing for windows

Add some special handling and exclusions for windows based machines
try to improve new line detection