Introduce MemoryPolicy API

Part 1 of #438 
This is hard to read over and over. Can we add static methods on `MemoryPolicy` with nice semantic names? I want `MemoryPolicy.shouldReadFromCache` and `MemoryPolicy.shouldWriteToCache` (or whatever names you think fit).