Add canAccessReviewMaterials()
Add caching to canAccessReviewMaterials()
Add cache 'day' configuration
Use 'day' cache configuration in canAccessReviewMaterials()
Pass $can_access to review_materials view
Clear both the 'default' and 'day' caches in /cache_clear
Rearrange to better handle various user states
Remove bigass comment about Google Wallet
Change JS results of payment success / failure
Clear canAccessReviewMaterials($user_id) cache appropriately

i.e. upon course attendance or module purchase
Mostly replace canAccessReviewMaterials() with
getReviewMaterialsAccessExpiration()
Use default cache config in getReviewMaterialsAccessExpiration()
Change which cache key to clear
Add 2 days to length of review module access

To allow access through the entire last day, regardless of timezone
Pass $expiration to review_materials view
Output expiration date messages
Move processing code from view into controller
Add cost
Hide cost if joining waiting list
Change conditional wording of last step