Merge pull request #884 from izrik/deproxy-0.18

Deproxy 0.18
changed datastore servlet response to default to 400 for malformed requests
added class cast exception and proper 4xx return for patch
fixed an incorrect assertion
A few small tweaks based on feedback

Formatted lines that were very long.
Removed a full qualification and used an import instead.
And then fixed a couple tests that were not testing the right things, or
were not setting up for failure at all.
Describing what a patch actually does
Tweaking the text of the test
Updating according to adrianjgeorge

"This change is incorrect. We should default to a 500, if we can't
definitively say it's their fault we have to assume it's our fault."

By default, if we haven't ironed out a reasoning, we'll throw a 500
Merge pull request #880 from rackerlabs/dd_tests

Added Dist Datastore tests and a fix for PATCH 500
Revert "Revert "added tests""

This reverts commit d140c655dc08df77b1cb9017b8600350a724bb57.
Fixed all the shenanigans that happened because of the accidental merge then rebase