Pass bound method ints rather than Item objects

My theory was that it would be faster not to call Item.i() in the inner
loop, but it seems not to matter much.
Add submission hook
Add unit tests for Knapsack