Capping the grind of crafting skills

It's mostly a blunt implementation, an optional cap parameter to be
passed to ```player::practice```. Not sure if it can be done better.

With this setup, the maximum crafting skill level one can reach via
repeatedly practicing a given recipe, is capped at "difficulty+1".
Making hooks out of nails will never bring you beyond skill level 1,
etc. Disassembly follows the same rules. If it's too strict, might
change to "difficulty+2".
Whoops
Alter cap to 125% of difficulty, +1
Add messages when hitting skill cap

Both on levelup and intermittently during regular crafting when over
cap.
Merge skill practice cap based on task difficulty.

Conflicts:
	src/crafting.cpp