Expect unlocking user w/o password to fail on sles

On all other linux distros, `usermod`, when attempting to unlock a user
with no password set, refuses to unlock the user, but exits with status
0. On SLES 11 and 12, `usermod` exits with status 3, which then causes
mixlib shellout to raise an exception. Make the tests differentiate
expected behavior by platform.
Expect user home dir to always be created on RHEL

- Inconsistent with other platforms because of etc/login.defs
- See CHEF-2205 http://tickets.opscode.com/browse/CHEF-2205
Expect user home dir to always be created on RHEL on more tests.
Merge pull request #847 from opscode/el-usermod-test-fixes

El usermod test fixes
OC-8337: Add architecture functional test coverage, fix resource name collision
OC-8337: Architecture functional test coverage
OC-8337: Fix 32-bit OS test breaks
Add functional tests for exit code and flags, fix architecture test verification
Fix Win2k3 32-bit status code test failures
Fix invalid assumption of non-nil code attribute and handle change to use -File instead of -Command with powershell.exe
Merge pull request #851 from opscode/adamed-OC-8337-windows-script-tests

OC-8337: Add missing functional tests for powershell_script, batch resources
handle local password policies
comments are always good.

It's tough to understand this fix, thus putting some descriptive
comments.
Clarify comments on Windows API behavior with direct link to documentation
Merge pull request #855 from opscode/adamed-8391-password-policy

OC-8391: Chef::Provider::User::Windows fails with local password policies
CHEF-4314: Pin active_support < 4.0.0 due to atomic + CAS issues
Determine if ACL mgmt follows symlinks by provider type.

- Prerequisite for CHEF-4312 fix.
- File access control defers to the provider to determine whether to use
link-following system calls or not (e.g., chmod vs. lchmod). File
provider and subclasses will use link-following calls (chmod), Link
provider uses calls that manage the symlink itself (e.g., lchmod).
Allow file resources to manage files via symlink

Fixes CHEF-4312 http://tickets.opscode.com/browse/CHEF-4312

Adds resource attribute `manage_symlink_source` to file resource and
descendents. When true, file resources will manage the source file
when a symlink exists at the destination path. When nil (default), the
source file is managed, but a warning is emitted. When false, symlinks
are not followed. In Chef 12, the default should be changed to false.
Add File.realpath backport for ruby 1.8

- Related to fix for CHEF-4312
Fix spec file loading annoyances

- Don't load all knife subcommands. Fixes error running tests on 1.8
  when you have 1.9-only plugins installed.
- Adjust spec file loading to use paths relative to spec/