Properly send expiration date with all share.php calls

There are three share.php calls for link shares:
- when changing password
- when setting expiration date
- when switching "allow public upload"

This fix makes sure that ALL the required info is sent for each of these
calls.

It fixes an issue where the expiration date was not passed when changing
the password.

Fixes https://github.com/owncloud/core/issues/11671

TODO:
- [ ] Fix/finish failing JS unit test