Fixed #12982 -- Added a ``get_or_set`` method to the BaseCache backend.

https://code.djangoproject.com/ticket/12982
Good point, patch updated. Thank you @chicheng and @manfre.