Re-coded the CacheSessionHandler so now we pull out params from Session.get() and attach them to the prepared request using Session.prepare_request() which we then check and use them in CacheController.cache_response()

Added test_session.py to test our CacheSessionHandler.

Changed all tests to use MagicMock instead as it handles interables properly.

This commit passes all tests 100%