Refactor update visible_to to use policy scopes

This solves the problem with Postgres DeadLook that some times happen on specs.
Merge pull request #297 from neighborly/jl-fix-deadlook

Refactor update visible_to to use policy scopes