Proto commits in Kinetic/kinetic-java

These 14 commits are when the Protocol Buffers files have changed:

Commit:0b7d349
Author:chiaming2000

Support Kinetic protocol 3.0.7: support crc32 and crc32c algorithms. https://github.com/Kinetic/kinetic-protocol/releases/tag/3.0.7 Use versions that are consistent to Kinetic protocol versions.

The documentation is generated from this commit.

Commit:52233ac
Author:chiaming2000

Preparation to support power-management protocol. Validate if the power-management protocol is ready to be implemented.

Commit:fe9591d
Author:chiaming2000

Correct typo. The max outstanding batch count is renamed to maxBatchCountPerDevice.

Commit:0b7be78
Author:chiaming2000

Initial implementation for batch operation changes based on protocol update on version 3.0.6. Exception handling improvements will follow after this commit. 1. Introduced no-acknowledge pattern for PUT/DELETE operations within a batch. 2. Added Batch Message construct for END_BATCH and END_BATCH_RESPONSE messages. https://github.com/Seagate/kinetic-protocol/blob/features/batch-operation/kinetic.proto

Commit:534fab5
Author:chiaming2000

Device power down prototype implementation. This is a preview implementation and for evaluation only.

Commit:691fb37
Author:chiaming2000

Added message validation to check if a request batchId exists. If true, it must be valid. If not, response status code is set to INVALID_REQUEST and the request command is not performed.

Commit:a44438c
Author:chiaming2000

Added concurrent batch operation support (per connection). (feature is still work in progress) Applications can create multiple batch operation instances in one more many connections. Each batch operation instance SHOULD BE operated in a single threaded context. Or otherwise operation ordering may not be in the sequencial order.

Commit:f62feb3
Author:chiaming2000

Batch operation prototype initial commit. Please note: this is a prototype implementation and still under active development. When it is reviewed, improved, and tested, this branch will be merged into master.

Commit:d5bd0ff
Author:chiaming2000

Protocol 3.0.0 support for hmac authentication. Admin feature changes related to SetUp, Pin Operations are not supported in this commit. All admin test cases related to SetUp, Pin Ops, etc are disabled temporarily until they are updated in the Java API and simulator implementation. This change/commit is incremental so that all parties can start testing against Hmac authentication changes with this commit branch.

Commit:548ffae
Author:chiaming2000

remove kinetic.proto and kinetic.java from repository.

Commit:a08c8d5
Author:chiaming2000

sync kinetic.proto from kinetic-protocol: Remove HMACAlgorithm.Unknown and use HMACAlgorithm.INVALID_HMAC_ALGORITHM instead

Commit:b09def4
Author:chiaming2000

Sync kinetic.proto from Kinetic-Protocol repository. Only comments were updated in this sync.

Commit:8f5e952
Author:chiaming2000

1. Added license files. 2. Update license headers for java source code and .proto files.

Commit:0dd503b
Author:chiaming2000

initial open source commit