Mix of first and second attempts at euler 12

I was brute forcing the factoring by checking each number to see if it
was a factor of the triangle number; this second attempt involves a new
way of factoring (that hopefully works) and should be much faster.
Basically I'm finding prime factors and using those to build up compound
factors.

Example:

420
1 * 420
   2 * 210
      2 * 105
         3 * 35   <- we also need 3 * 2 and 3 * 2 * 2, or 6 and 12
            5 * 7  <- we also need 5 * 3,
                                   5 * 3 * 2 and
                                   5 * 3 * 2 * 2, or 15, 30 and 60
So we get 1, 420 for free,
          2, 2, 3, 5, 420, 210, 105, 35 and 7 through prime factoring
      and 6, 12, 15, 30 and 60 by compounding our prime factors

... except this leaves out 10, 15, 20, 21, 28, etc.