Made a little bit of fixes to the way bonuses are calculated.
VERY IMPORTANT COMMIT!! There was an issue with the iterator
implementation in the 'ItemContainer' class that prevented some of the
items from being iterated over. This caused very serious problems with a
lot of things (some of which are probably unknown, but fixed now) such
as item bonuses. Since not all of the items were being iterated over,
the bonuses were being added incorrectly. I suggest that everyone adds
this fix in this commit, any weird issues you might have been having
with iteration (or 'looping') over the item containers should be solved
now.