[CHEF-4204] add lock/unlock tests
[CHEF-4204] fix ruby unused variable warning
[CHEF-4204] silence shell out live stream in tests
[CHEF-4204] Convert useradd provider to shellout

- Convert all run_command and popen4 calls to shell_out!
- Update useradd tests
- User::Solaris subclasses from Useradd, so update those tests, too.
- Functional tests pass unmodified
Pass useradd commands as argv array instead of sh command.

- Fixes CHEF-4204
- Useradd provider commands converted from single string to argv array.
  This bypasses use of bin/sh command interpretation, so there is no
  need to escape shell-significant characters (e.g., quotes, etc.).
- Un-pending-ize useradd functional tests for arguments to useradd with
  single quote characters.
- Update useradd unit tests to expect command as argv splatted arrays.
- Extract useradd unit tests to a shared example group.
- deduplicate test code between solaris and useradd unit tests using
  shared example group.
[CHEF-4204] Fix solaris tests to not access shadow file.

- Update useradd shared examples to rely on let block defined provider
  object so custom method stubs can be added.
- Stub methods that manipulate shadow file on the solaris provider in
  the shared examples.
- Remove unnecessary test setup from solaris provider specific tests.
Merge branch 'CHEF-4204'

- Fixes CHEF-4204 http://tickets.opscode.com/browse/CHEF-4204
- Updates unit tests for useradd-based user providers
- Updates functional tests for useradd-based user providers