Self-updating build queue

I changed the way Middleman keeps track of the resources it has yet to built. Instead of initially creating the list of files to built from the sitemap, I implemented a queue that updates itself during the build process. This allows resources to inject other resources into the sitemap dynamically.

The idea originated from a helper I wrote that dynamically generates thumbnail images using RMagick and adds these images to the sitemap. This works fine in development. The build process, however, ignores the generated thumbnails since they have been added to the sitemap later on when the list of resources to render has already been determined.

This pull request does not change any of the existing build behavior. It merely adds the possibility of having resources that generate other resources on-demand.