Merge pull request #36 from brownplt/multiple_inheritance

Multiple inheritance
Raise TypeError when an object without __call__ attribute is called
Implement filter as an iterator
This solves issue #37 and allows to enable the correct version
of ___assertRaises. Also fixes subscript desugar to raise TypeError
when there is no __getitem__ method for the object, this bug also
was hidden by the ___assertRaises hack.