Refactored the rest client delegation and the session management.

1. The RestClientDelegate concept has been deleted and the functionality
   has been merged into the RestClient implementation. This got rid of
   an unneccesary layer of abstraction and made the RestClient role more
   prominent and lean to understand. The previously known HttpRestClient
   has been renamed to VollyHttpClient.

2. The RestClient isn't responsible for the Session object any more,
   neiter fetching it, nor managing it. The SessionManager interface has
   been added for this. A new RestClient implementation has been created
   for this purpose, the VolleySessionClient, which implements the
   SessionManager and manages the refreshed state of the Session object,
   with triggers from the VolleyHttpClient.