Add *.o and *.lo to gitignore.
Fix function definition formatting.
Return password in an opaque structure.

This will be used when support for encrypted passwords is added.