fix messages not being filtered by cancan, move mark read to message model