differential.creatediff: More accurate parameter handling
Summary:
There are no checks against invalid or missing parameters.
In addition, despite the claims of the parameter documentation, many of these parameters are optional.
Add errors for required parameters, mark the rest as optional.
This also addresses deprecation warnings about null used as a string.
Closes T16428
Test Plan:
* Call http://phorge.localhost/api/differential.creatediff without parameters without this patch
* Call http://phorge.localhost/api/differential.creatediff with this patch, adding parameters one by one until the errors disappear and a wild diff appears
See also T16428 for deprecation warning related tests.
Reviewers: O1 Blessed Committers, aklapper
Reviewed By: O1 Blessed Committers, aklapper
Subscribers: aklapper, tobiaswiese, valerio.bozzolan, Matthew, Cigaryno
Maniphest Tasks: T16428
Differential Revision: https://we.phorge.it/D26641