- Cluster Fix FetchPartitionOffsetsAsync since the fetching of Head and Tail at the same time is not possible. Pass in start location and return new instance of TopicPartitionOffsets instead.

- Tests: Update ReadOffsets test to use a large (1kb) message, with broker configuration set to roll log segment files every 1MB to ensure the test covers multiple log segments.
Merge remote-tracking branch 'origin/master'
PartitionStateChangeEvent - add Equals and HashCode overrides so that distinct works corrrectly.