another version of subgraph that is
another version of subgraph that is

1) faster
2) correct

subgraph method in DiGraph added as a result

has an evil if hasattr(nbunch,"next")
to identify a pure iterator - is this correct?

--HG--
extra : convert_revision : svn%3A3ed01bd8-26fb-0310-9e4c-ca1a4053419f/networkx/trunk%40239

blublud/networkx,jcurbelo/networkx,dmoliveira/networkx,farhaanbukhsh/networkx,debsankha/networkx,kai5263499/networkx,JamesClough/networkx,RMKD/networkx,NvanAdrichem/networkx,ltiao/networkx,kai5263499/networkx,debsankha/networkx,harlowja/networkx,sharifulgeo/networkx,ionanrozenfeld/networkx,kernc/networkx,ionanrozenfeld/networkx,sharifulgeo/networkx,Sixshaman/networkx,jni/networkx,kernc/networkx,jfinkels/networkx,jtorrents/networkx,jakevdp/networkx,ghdk/networkx,ghdk/networkx,dhimmel/networkx,dmoliveira/networkx,aureooms/networkx,aureooms/networkx,cmtm/networkx,farhaanbukhsh/networkx,beni55/networkx,bzero/networkx,aureooms/networkx,chrisnatali/networkx,jakevdp/networkx,debsankha/networkx,OrkoHunter/networkx,chrisnatali/networkx,kai5263499/networkx,bzero/networkx,michaelpacer/networkx,nathania/networkx,blublud/networkx,chrisnatali/networkx,nathania/networkx,harlowja/networkx,RMKD/networkx,nathania/networkx,dmoliveira/networkx,dhimmel/networkx,andnovar/networkx,tmilicic/networkx,jni/networkx,yashu-seth/networkx,ionanrozenfeld/networkx,goulu/networkx,farhaanbukhsh/networkx,harlowja/networkx,wasade/networkx,bzero/networkx,dhimmel/networkx,SanketDG/networkx,jni/networkx,jtorrents/networkx,sharifulgeo/networkx,RMKD/networkx,jakevdp/networkx,ghdk/networkx,kernc/networkx,blublud/networkx