Cached files so they are only loaded once

`files` is an expensive method and is called a number of times. Added caching of the files and reload them in certain conditions
Merge pull request #109 from lukesmith/perf-improvement-options-glob

Cached files so they are only loaded once