port SNSs solaris user provider
add solaris user provider to solaris2 and smartos
deal with files a little better
slightly less horrible hackery
fix specs
[CHEF-3432] use shared variable to track resource subclasses

Use a class (@@var) instead of class instance variable to track
subclasses of Chef::Resource. This ensures that subclasses of subclasses
will be added to the list.
[CHEF-3432] Move LWRP override tests into main describe block
[CHEF-3432] tidy up fixture path generation in LWRP specs
[CHEF-3432] fix leak of LWRP resource classes
keep perms however we find them
[CHEF-3432] explain class var usage for resource_classes
adding solaris specific provider tests
revert useradd unit tests after extracting solaris ones
[CHEF-4117] fix resource attempting to remove constants it doesn't have

Module.const_defined?() needs to be given an optional second argument to
disable constant lookups on ancestor classes. Otherwise LWRP creation
may attempt to remove a constant that does not exist.
remove accidental :focus in tests
Adding the run_started callback
[CHEF-4123] fix const_defined arity mismatch on ruby 1.8