bsd: Change again recently-changed rwlock API

This patch removes the readers() method of rwlock, as we don't have any
use for the actual number of readers - just for the question of whether
there are any. So we replace unsigned readers() by bool has_readers().
I don't want us to unnecessarily have a readers-count method that we
don't need, because some scalable rwlock implementations don't actually
keep a coherent count of readers across all CPUs, just knowledge of
whether there are any (see for example, C-SNZI).

The patch also renames rw_rowned() to rw_has_readers(), calling the
above has_readers(). We add a comment explaining that this function
is very different from rw_owned(), in that rw_owned() checks if *this*
thread owns the write lock, while rw_has_readers() checks if *any*
thread has the read lock.

Reviewed-by: Gleb Natapov <gleb@cloudius-systems.com>
Signed-off-by: Nadav Har'El <nyh@cloudius-systems.com>
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>