Make should_be_logged() authoritative by itself

This means it does the check against pgaudit.roles itself (by calling
the same function that its caller used to call).
If audit has been granted permissions, we log the event

This implements most of Stephen Frost's suggestions in
http://www.postgresql.org/message-id/20141014125704.GR28859@tamriel.snowman.net
Take column-level privileges into account too