* bugfix - PUT should have a payload for Mark as Read (#1579)
* bugfix - PUT should have a payload for Mark as Read
* also fix the Observable client test
* add integration tests for MarkRead methods
* Fixup MarkReadForRepository methods to specify a body in the PUT request
* Fix unit tests for regular and observable client
* helps if the new files are included in the test project :)
* Cloning ApiInfo object should work when some fields are null (#1580)
* Adjust ApiInfo.Clone() to work even if some elements (eg ETag) are null
* Remove c# 6 language feature and do it the old school way
* Add a test for cloning ApiInfo when some fields are null
* The 3 lists can never be null anyway so remove some un-needed statements
* Add test for null RateLimit
* Remove Rx-Main dependency from samples
This resolves#1592 - LINQPad doesn't understand how to restore this unlisted package and it's not actually needed in the samples.
* Adding RemovedFromProject and other missing EventInfoState types. (#1591)
* Adding missing review types to event info.
* Fixing whitespace.
* Reword `BaseRefChanged` comment
* Adding missing event types.
* Change response models 'Url' properties from `Uri` to `string` (#1585)
* Add convention test to ensure 'Url' properties are of type string
Closes#1582
* Change 'Url' properties from Uri to string
Global Find/Replace FTW!
* fix compilation errors in the integration tests project
* Extend 'Url' properties type check to request models
* Stick to convention tests naming convention
* Remove unused using directives in models
Changing from `Uri` to `string` means the `using System;`
directive was not needed anymore in some files
* Update exception message wording
* empty commit to trigger a new build - hopefully Travis passes
* add convention test to ensure request models have Uri 'Url' properties
* make request models 'Url' properties Uri
fix typo in convention test name
* revert some request models 'Url' properties as `string`
see https://github.com/octokit/octokit.net/pull/1585#issuecomment-297186728
* Change test so that all model types must have 'Url' properties of type string
- Filter test input to only get types which have 'Url' properties
- Merge response and request model types tests into one
- Unparameterize the exception since we only check for the string type now
* Fix string.Format tokens
If this PR doesn't get rebased, it'll be my wall of shame FOREVER!
* and then it's even more embarrassing when the commit message says rebased but you really meant squashed
* Remove exclusion of `Release` from request models
Added a RateLimit class to encapsulate pulling rate limit information
from the headers. This is now exposed by ApiInfo as well as the
RateLimitExceeededException. That way these two classes are not grabbing
the same information in different ways which we were doing before.