Block: remove unnecessary typename for an iterator

std::vector<Source>::iterator is not a dependent type so no
typename is necessary. Also VS2013 doesn't like typename there.
[win] VS2013 doesn't support noexcept. Workaround that.

Oh boy... ;-)