Fixed Timestamp issues, boolean ___Changed()

Craftable.java:
costChanged and profitRatioChanged to track when the fields have
changed. Helps with delaying calculation of cost/profitRatio until
actually needed.

ItemInfoPanel.java:
Timestamp might have been triggered by property change firing when
setting worthField of new item to be displayed. Not sure why it only
triggered once per value change... ohwell.