Redo Image Fetching to be less linear.

Also locally caches the results of the PageImages api call.

Change-Id: I966950ac4c77dfee0e0e88db787ac7662679817c