added some common ignores
casting to array is not compatible with iterators
traded in abstract for interfaced dependency
removed obsolete use
fixed potential BC break for string roles
Merge pull request #71 from esserj/master

Iterator compatibility fixed & abstract dependency