Fix incorrect usage of NotImplemented constant

Code in the form `raise NotImplemented()` appears in several places in the code base.

[`NotImplemented`](https://docs.python.org/2/library/constants.html#NotImplemented) is a constant singleton used in rich comparison
overloading. It is not callable, and is not an exception.

[`NotImplementedError`](https://docs.python.org/2/library/exceptions.html#exceptions.NotImplementedError) is a built in exception, and is what you probably meant to use.