Common.unshadow works with dissimilar passwd/shadow files

If NIS is enabled, the passwd and shadow databases will have different entries,
since NIS-stored entries are not also stored in the shadow file. Also, unshadow
previously assumed that the passwd and shadow database entries were in the same
order wrt usernames. This is the common case, as the passwd tool enforces this
by construction, but we can't assume this because these files may have been
edited by hand.

Signed-off-by: Mike McClurg <mike.mcclurg@gmail.com>
_oasis: depend on ctypes, debug options, bump version

Signed-off-by: Mike McClurg <mike.mcclurg@citrix.com>
Convert passwd.ml and shadow.ml to use ctypes

Convert everything in one fell swoop. Should be easier to read this way than
broken into smaller commits.

Signed-off-by: Mike McClurg <mike.mcclurg@citrix.com>
Remove old C stub files

Signed-off-by: Mike McClurg <mike.mcclurg@citrix.com>
Merge pull request #2 from mcclurmc/ctypes-rebased-hard

opaswd uses ctypes instead of custom C stubs