Operator Overloading

Provide hooks for the majority of the special (double underscore) Python methods that supply the operator overloading feature. Also implement the "right hand side" and "in-place" features. No additional tests are provided in order to avoid polluting the core distribution.

Some additional minor "whitespace" changes to convert tabs, indent correctly.