Correctness fixes.

DictionaryIntIntImpl sometimes violated the Set contracts.
Make our maps implement the Map interface.
Regenerate map types.

Update a unit test for 'containsKey' rather than 'contains'.
Test the contract of immutable maps.

We use Guava's MapInterfaceTest for this.