refactoring cluster repository: to make elasticluster better extensible the `ClusterStorage` is moved to the repository module and implements the `AbstractClusterRepository` contract. The old json implementation is replaced with pickle to store all relevant information of a cluster into the storage file.
Merge branch 'refactoring' of https://github.com/gc3-uzh-ch/elasticluster into refactoring