A minor improvement: dyn_cast + iterators

This is just a quick note the let everyone know dyn_cast now works
properly with BasicBlock::iterator's and others. In other words, you can
now do things like this:

for (BasicBlock::iterator I = BB.begin();
     PHINode *PN = dyn_cast<PHINode>(I); ++I)

instead of this:

for (BasicBlock::iterator I = BB.begin();
     PHINode *PN = dyn_cast<PHINode>(&*I); ++I)

This was a long standing problem that I finally got around to fixing. Now
you should almost never need to use "&*" anymore.