Make all arguments of Milestone.update() optional

This makes it possible to do something like
milestone.update(state='closed') without resetting the title,
which seems closer to the purpose of the underlying GitHub
API.

In addition, previously, milestone.update(title=some_title,
state='closed') would error out because the optional
parameters were not removed before sending the request.