Don't run usermod every time when uid is a string

When uid is sent into the user provider as a String,
it never matches the Fixnum returned from the system
for @current_resource. This would cause usermod to
execute on every chef run.
Add Solaris class in preparation for newer versions of Chef

User creation is splitting out into a new class for
solaris/smartos on chef master.