Slop for delete operations

Problems:
1) Exception handling of delete is very different at 4 places ( on
normal response, required failure, quorum failure) and after pipeline is
finished.
2) The exceptions are reported again and again ( They are not removed
from the map).
3) Some places ignore obsoleteVersionException, some others report it.
4) There is a zombie state abort, there is no way to reach this state.
5) Multiple slops could be sent, because of the issue 2. When the
pipeline is aborted, no slops could be sent.
6) Refactored QuotaLimitingStore test to add delete test cases
7) Combined the PUT and GET quotas into 2 quotas.

Solution:
Defined a common method, so that all 4 places call into the same method.
Only the condition for calling is different. Race conditions still
exist, after zone failure check but before pipeline finishes the
exception will go missing, slops will not happen, but the chances are
reduced.
Got rid of the state PerformDeletedHintHandoff as
QuotaExceededExceptions will not be reported as failures. Now doing it
in place.
Merge branch 'master' of https://github.com/voldemort/voldemort
Merge Read and Write Quota

Combined GET and GETALL to GET
Combined PUT and DELETE to PUT
It would be cleaner if we rename the new GET to READ and PUT to WRITE
But it might break the backward compatibility so leaving it like this
for now.