With this patch we avoid masking NotImplementedError(s).
Previously, a catch-all clause returned 500, and it makes
sense to distinguish between genuine 500 errors (i.e. a bug),
versus 501 ones.
This opens up the issue of keeping the server behavior
consistent from one release to another, but one might argue
that this was bad design decision in the first place.
Fixes bug 1197200
Change-Id: I2d81cba5ee9e5fbe8e865378381790b5b467d255