Add CMIS storage support.

The following changes add support for CMIS.

There is a particular case which doesn't work with the current version of cmislib 0.5.1 unless patched, see: https://issues.apache.org/jira/browse/CMIS-799

The case consists of writing to a file with subfolders that doesn't exists in the remote repository. Example:

```python
filename = '/folder/subfolder/some_text.txt'    # new file doesn't exist yet remotely
with storage.open(filename, 'w') as f:
    f.write(u'Hello World!\n')
```

In order to make it work you just have to apply the following diff to <code>cmislib.model.py</code>:

```diff
2912c2912
< return ResultSet(self._cmisClient, self, result)
—
> return ResultSet(self._cmisClient, self._repository, result)
```