Added framework for manual refreshing.
Improved refreshing framework. Now supports restarting refreshes, allows child classes to indicate if a refresh should be performed, and defines behavior for what happens when a listener is unregistered while a refresh is in progress.
Merge pull request #8 from the-blue-alliance/refreshing_framework

Merge refreshing framework into API response caching branch.