New subscriber management code.

This solves a couple of problems that were going on in here where
things were just wrong:

1. We don't update the list if it hasn't changed.
2. Verify bug visibility to users properly.
3. Allow non-internal users to subscribe to public bugs.