remove skipRecords from fetching API and protobuf

AFAIK skipRecords was never used. By inspection, the code that would have been exercised if it had been used has never been correct. Removing skipRecords from the code base.

Also:
- Added a number of TODOs to the code from the reviews
- Changed some variable names
change maxRecords to recordsPerPartition in fetch API and protobuf

These are cosmetic changes. The client-side and server-side code does not properly do recordsPerPartition yet.

Added a few TODOs in the code too.
Correctness fixes and significant refactoring of Fetch*StreamRequestHandlers. Expanded AdminFetchTest.

Added more common helper methods to common base class of all fetchers FetchStreamRequestHandler.

Added abstract base classes for partition-based fetching and non-partition-based fetching:
- FetchPartitionStreamRequestHandler (partition-based)
- FetchItemsStreamRequestHandler (non-partition-based)

Refactored some code up to abstract base classes and made implementations as similar as possible (without heroic efforts) across all fetchers:
- FetchEntriesStreamRequestHandler
- FetchKeysStreamRequestHandler
- FetchPartitionEntriesStreamRequestHandler
- FetchPartitionKeysStreamRequestHandler

Significant better test coverage in AdminFetchTest
- tests fetching keys as well as fetching entries
- tests partition-aware and non-partition-aware servers
- tests per-partition limits on entries/keys fetched

All of this clean up and additional testing lead to minor correctness fixes.

Minor other clean ups of comments, override annotations, and fixes for KeySamplerCLI.
Addressed all review feedback and TODOs for KeySamplerCLI

KeySamplerCLI
- added options: --store-names, --partition-ids, --keys-per-second-limit, and --progress-period-ops
- got rid of unnecessary (and weird) retry loop. Can add seomthing like that later if needed.
- pass all partitions to fetcher now instead of one-at-a-time

Also did cosmetic fixes for KeyVersionSamplerCLI and Entropy.java
Addressed review feedback and TODOs for KeyVersionSamplerCLI (and renamed it to KeyVersionFetcherCLI).

- mostly usability changes about command line options...
- one copyright fix
Interim commit to rename a bunch of files.
Addressed all code review comments for KeySampler and KeyVersionFetcher. Renamed many classes and methods related to FetchStreamRequestHandler.

- All sub-classes of FetchStreamRequestHandler have been renamed to have a more consistent nomenclature.
- Did some further refactoring in the FullScan* classes to move more work from leaf classes to FullScanFetchRequestHandler.java
- moved scan accounting to overall bae class
- Added getNodesPartitionIdForKey method to StoreInstance to help with some fetch logic