switch up API to support multiple authentication objects

# summary

You now create a `new PasshashAuth(filename)` object, and that object stores the database in memory, and can be used to authenticate username/password combos.

because this changes backwards compatibility, i'd recommend bumping the version to `0.1.0` if you pull in this PR