Added functionality for pull to refresh

When user wants to refresh the data, it can pull down the list and it
will make a network call to get the latest program information and
cache it locally.