Enforce policy for published nodes for read/write

This commit splits the policy checks we do on node operations into
"read" checks and "write" checks, so that we can enforce different kind
of policies based on the state of a node (i.e. published or not).
4 jobs for adinapoli/issue-400 in 31 minutes and 56 seconds (queued for 5 seconds)
Status Job ID Name Coverage
  Cabal
passed #15879
cabal

00:12:35

 
  Stack
passed #15880
stack

00:05:14

 
  Bench
manual #15881
allowed to fail manual
bench
 
  Test
passed #15882
test

00:14:05