_divisor_list in XS, use it.  Add simple forcomposites.
first round of changes for factor(1)