Refactor frametools.plotframe to not read from disk.

Allow plotting from memory by introducing a lower level function plot_frame that doesn't try to read from disk.

Note that now the code loops over outdirs and stores the corresponding frames before calling plot_frame.

The immediate purpose of this modification is (in combination with https://github.com/clawpack/pyclaw/pull/344) to allow the following kind of thing in PyClaw:

    from clawpack.pyclaw.examples import *
    claw = shock_bubble_interaction.setup()
    claw.run()
    claw.plot()

This plots frames from memory, with no need to read anything from disk.