Add yesodSpecWithSiteGenerator method.

This method "extracts" site from `IO site` action every time, instead
of getting it only once. Helpful for flushing database (to recreate
connections) etc.

Implementation details: https://github.com/yesodweb/yesod/wiki/Flushing-database-between-tests