add solaris user provider to solaris2 and smartos
deal with files a little better
slightly less horrible hackery