Add Solaris and SmartOS platforms

This PR does a lot of things, the biggest change is the addition of SmartOS and Solaris.

Also, this PR fixes the following bugs: #13 #14 #31 #32