Fix some performance issues with OreDictCache

We had some severe performance issues with the Chemical Injection Chamber, and after some investigation, it led to the OreDictCache.

![WarmRoast output](https://cloud.githubusercontent.com/assets/38949/4465984/59f6d642-48e0-11e4-833e-dbd8c7a1fcee.png)

This PR makes the following changes:

* Fixes `ItemInfo`.`equals()` so it works as intended. Otherwise, the cache misses every time.
* Changes `ItemInfo`.`hashCode()` to use the object identity hash code for the item because `equals()` is using an object identity equality check.
* Changes `OreDictCache` so it only hits the hash map once when checking whether a cache entry exists.