Add unit test for Component.

Closes #99
Added amount > 0 constraint to Component.

It makes no sense to have an In/Out/Tool-Component with an amount of less than 1 (with the possible exception of something like "wasteful crafting", but who would need that?)
Add simple Category unit test.

Closes #78