[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.