OCS API for server-to-server sharing

OCS API for server2server sharing as part of #12285 .

This is work in progress, I just want to give people a chance to look at it early.

This is how the API will look like:

POST to create new server2server share
```
http://localhost/oc/ocs/v1.php/cloud/shares
```

post data: shareWith, token, name, remote, remote_id, owner

POST to notify that the share was accepted
```
http://localhost/oc/ocs/v1.php/cloud/shares/{shareId}/accept
```

post data: token

POST to notify that the share was declined
```
http://localhost/oc/ocs/v1.php/cloud/shares/{shareId}/decline
```

post data: token

POST to unshare server-to-server share
```
http://localhost/oc/ocs/v1.php/cloud/shares/{shareId}/unshare
```
post data: 'token'

Known Issue:

- [ ] if a share was declined the encryption keys are not updated. Will be fixed once #12382 is merged. Doesn't make sense to try to fix this now.
OK, now I see you point. 

It will be a different share type: \OCP\Share::SHARE_TYPE_LINK vs  \OCP\Share::SHARE_TYPE_REMOTE

I just added the check which was missing. That's probably where the confusion come from https://github.com/owncloud/core/pull/12452/files#diff-095b5f4e7ee9665a242886c86670b4b8R120