Refactor to add in windows support.
Resolve compilation and link errors for Windows.
Start refactoring to merge common functioanlity, and only separate out
the OS specific parts.
Fix compilation and unit test problems from refactoring.
Simple code refactor.
Rename passwd record to handy_user record.
Fix up compilation errors from refactor. Fix issues found running unit tests. Refactor some Erlang code
now that Windows is supported, including removing separate paths (in Erlang) for Unix for Windows.
Resolve compilation issues on Linux.