Refine CollectionMethods cop

Now we actually check if the method was passed a block or received a
single proc argument. This reduces greatly the likelihood of false positives.