Learnable recipes (supported methods: disassembly)

Recipes can now be learned by methods other than just increasing your skill. So far, disassembly is the only supported method, but other methods can be added without breaking save compatibility. Disassembly was the easiest one to add, basically (since it already has hooks for picking a recipe).

Disassembly can have a minimum primary skill level before you can learn the recipe, and that minimum skill level does not need to be the same as the recipe's difficulty.

Also made the flashlight and UPS recipes learnable via disassembly, at a skill level 1 lower than when you normally learn them.

Breaks save compatibility and templates.