Fixes and improvements to IntObjectHashMap

- Rewrite with linear probing, no state array, compaction at cleanup
- Optimize keys() and values() to not use reflection
- Optimize hashCode() and equals() for efficient iteration
- Fixed equals() to not return true for equals(null)
- Optimize iterator to not allocate new Entry at each next()
- Added toString()
- Added some new unit tests
True :)

> Am 20.07.2014 um 17:34 schrieb Osvaldo Pinali Doederlein <notifications@github.com>:
> 
> In common/src/main/java/io/netty/util/collection/IntObjectHashMap.java:
> 
> >              if (value == null) {
> > -                if (otherValue != null || !other.containsKey(entry.key())) {
> seems different to me; both sides can either be null or non-null (occupied vs. non-occupied)
> 
> —
> Reply to this email directly or view it on GitHub.