Add a specialized implementation of Set<E> for small sets (3 or less elements).

On hotspot with compressed OOPS, each set is 24 bytes (- a singleton set is 16 bytes).

A Trove set with load factor 0.75, with a capacity of 3 elements uses 88 bytes - 48 bytes of set data, plus 40 bytes for a 5 element array (arrays have a 20 byte header, and are padded to 8 byte boundaries).
MapPointer uses SmallSet for sets of 2 or 3 elements.
Add remove (non)-implementation to iterator for 1.7
Merge pull request #303 from sesuncedu/version4_smallsets

Use custom set implementation for sets of 2-3 elements