(PUP-840) FFI Puppet::Util::Colors

 - Replace WriteConsole / WriteConsoleOutputCharacter calls with FFI
   equivalents
 - Remove string_encode function as it's no longer necessary and the
   test that was using it
(maint) Remove travis jobs which we know are failing to speed up travis runs.
Merge pull request #2691 from Iristyle/ticket/master/PUP-2382-FFI-win32-bool

(PUP-2382) FFI typedef for win32_bool / fix User
Merge pull request #2685 from hlindberg/PUP-2314_assert-type-lambda-and-message

(PUP-2314)(PUP-2632) Fix assert_type's API
Merge pull request #2668 from hlindberg/PUP-867_remove-dynamic-defaults

(PUP-867) Remove support for dynamic defaults for future parser
(PUP-838) Move FFI code to bottom of process.rb
(PUP-838) FFI Puppet::Util::Windows::Process module

- Remove  dependency on windows/process, windows/handle, and
   windows/synchronize, all part of windows-pr (which is not a gem that is
   currently FFI-ed, even in the latest release)
- Add WAIT_TIMEOUT from Windows::Synchronize
- FFI WaitForSingleObject
- FFI GetExitCodeProcess
Merge pull request #2693 from kylog/maint/remove-failing-travis-jobs

(maint) Remove travis jobs which we know are failing to speed up travis ...
(PUP-838) GetExitCodeProcess checks FFI::WIN32_FALSE

 - This adds a fixup after reworking changes related to getting the proper
   boolean on windows.
(maint) Use the travis config used on master to workaround rvm issues
Merge branch 'stable'

Conflicts:
	.travis.yml
Merge pull request #2676 from Iristyle/ticket/master/PUP-840-FFI-Windows-Colors

(PUP-840) FFI Puppet::Util::Colors
(PUP-838) Process uses LookupPrivilegeValueW

 - Switch from LookupPrivilegeValueA to LookupPrivilegeValueW
 - In reality, this doesn't absolutely need to be done, but for the sake
   of consistency with other API calls, we use W suffixed functions
 - Add 2 tests that confirm that our usage of the Win32 API call is
   correct
(PUP-838) Use FFI helpers read_handle / read_dword
Merge branch 'ticket/master/PUP-838-FFI_Windows_Process'

* ticket/master/PUP-838-FFI_Windows_Process:
  (PUP-838) Use FFI helpers read_handle / read_dword
  (PUP-838) Process uses LookupPrivilegeValueW
  (PUP-838) GetExitCodeProcess checks FFI::WIN32_FALSE
  (PUP-838) FFI Puppet::Util::Windows::Process module
  (PUP-838) Move FFI code to bottom of process.rb
(PUP-2660) user: set the user should-value when generating ssh_authorized_keys

When purging authorized SSH keys, the user type generates ssh_authorized_keys
resources using eval_generate. The ensure property receives a should value of
"absent" so the keys are removed. However, those resources are non-functional
because the user property lacks a should value. The resource fails during
Provider::Ssh_authorized_keys::Parsed#flush.

Fixed by setting the appropriate user value for each generated key.
(PUP-121) Make examples for relative/absolute shared

This makes the examples that test include, require, contain
share the same tests.

This also adds one missing error condition.
(PUP-2360) Yumrepo type allows invalid values

None of the regexpes was actually looking for the whole value to match,
just any part of it would suffice.
Merge branch 'pull-2575'
(PUP-2478) Remove current directory from Ruby load path.

The current directory ('.') is on the load path for Ruby 1.8.7.
This is a security vulnerability as it allows arbitrary code loading if
users create ruby source files with names that correspond to those that
puppet is trying to load.

The fix is to explicitly remove '.' from the load path before any code
is loaded by puppet.