Added a more sophisticated caching mechanism

* We now can generate a cache key based off of the compile data
  structure. This allows more precise caching (ie same page different
  locale).
Merge pull request #5 from logie17/master

More precision in regard to caching