do not merge: Josh's optimized HashMap and Hashtable

This commit squashes two changes from master. The only
additional change is that I've added "implements Map<K, V>"
to the signature of HashMap, which is necessary until we
get Josh's Apicheck fix in the master branch.

commit 5483e8adebc09b7bc58eb568793868388c240116
Author: Joshua Bloch <jjb@google.com>
Date:   Mon Aug 31 17:55:19 2009 -0700

    Replaced existing Hashtable implementation with fast one.

commit 90dbc304086ba1f6f51ed0d0b3a7368cc0fd46cb
Author: Joshua Bloch <jjb@google.com>
Date:   Thu Aug 20 17:34:39 2009 -0700

    Replace existing HashMap and LinkedHashMap with faster versions.
    Among other optimizations, the new versions do no division and
    use a high-quality defensive hash function to minimize the odds
    of poor key distribution among buckets.  Third time's a charm.
8 files changed