All models used in PATCH verbs should have nullable fields

There were a few update models, used in PATCH requests, which had fields that were not nullable. This pull requests makes sure all fields within PATCH models can null every field (unless otherwise specified by the API docs).

1. Cloned the ReleaseUpdate (used in PATCH requests) model into a NewRelease model (used in PUT requests) since the two models should not have been shared between the request types as they had different field requirements.
2. Cleaned up the PullRequestUpdate object as it looks like there was a copy and paste mistake since it contained a few too many fields that don't exist on the update.
I'm not so sold on this change, for two reasons:

 - it should either be true or false as per the docs https://developer.github.com/v3/repos/releases/#edit-a-release
 - while setting these to `null` means the values won't be sent, I'm not sure this flow is intuitive to users (maybe this is related to the first point).

As I was writing tests for this area I got annoyed at the process of taking a release, editing it and then publishing the change. So that was the motivation for the `Release.ToUpdate()` helper method.