Fix special methods of class pydevd_constants.Null

The current implementation of Null.\_\_getattr\_\_(self, mname) always returns self. This causes problems, if the mname is the name of a special method like '\_\_iter\_\_', '\_\_getinitargs\_\_', '\_\_getstate\_\_' or '\_\_reduce\_\_'. If a class implements special methods, it should follow the specification. For instance currently ```for x in Null(): pass``` causes an endless loop.

The patch adds Null.\_\_iter\_\_() and modifies \_\_getattr\_\_(self, mname) to raise AttributeError on special names. 
If you consider this modification to aggressive, please consider pulling commit 6097e285e96f44 instead. It doesn't touch \_\_getattr\_\_ but implements all pickling related method instead.