couch_users_db: introduce public_users option

When `couchdb.public_users` is set to either `whitelist` or `blacklist`, getting
`/_users/id` will return user document with sensitive information
filtered out.

NOTE: Use `couchdb.public_users_whitelist` and
`couchdb.public_users.blacklist` to configure the way it works. (They
both accept erlang term as value: `[name,roles]`).