Create a base CachedDataProvider that reuses lots of the plumbing code from OrionDataProvider.  Using this class makes it much easier to create a caching data provider than starting from scratch.
Merge pull request #1 from jpobst/master

Create a base CachedDataProvider that reuses lots of the plumbing code f...