adds filtering to all of Iterator but I think I'm going to remove it from pop, count, and getitem since it will never work correctly with AllIterator
some bug fixes here and there, no more double normalize_dict() being called multiple times in Model, Interface will now let standard exceptions bubble through instead of converting them to InterfaceError. Adds Iterator.ifilter that will filter iterator results by ifilter callback, not sure I really like how I implemented the ifilter, but it is what it is