Various small fixes

- Settings were always being read from a file, even when there were no
  settings to read (which ended up always using default settings with
  FileStorage).  Settings are only read now if the backend says it has
  settings.
- cache_ was being reserved but not resized--the resize needs to happen
  because we track the state count in the size.