extract machine list
catch unsolvable (invalid) crafting sequences
fix ForbidMachine

* crafted item is considered primitive if ALL of its crafts require a
  banned machine (was: any crafts)
* otherwise, allow crafts from nonbanned machines