The enumeration algorithm seems complete.

It could use more testing, but it looks complete, correct, and effective.
Enumeration now outputs to a database file.
Implemented frequency-based item roller.

One notable difference is that the items it "produces" are not items, just the
label string and the price, because the item generation system is bypassed.

It seems to function as expected, but it is hard to tell whether it will
produce an equivalent distribution to rolling things via dice.

More testing is needed, but the next stage will be to support this in
webgen.py, and from a web form. The correctness can be worked out later, if it
is indeed a problem.
Web interface now does custom settlements.

It's about "beta" quality. The next step is further refinement and defect
fixes.