lib/type/hash.js
function HashMap(source) {
  this._rtype = TYPE_NAMES.HASH;
  this.reset();
  if(source) {
    for(var k in source) {
      this.setKey(k, source[k]);
    }
  }
}
function HashMap(source) {
  this._rtype = TYPE_NAMES.HASH;
  this.reset();
  if(source) {
    for(var k in source) {
      this.setKey(k, source[k]);
    }
  }
}
function HashMap ( source ) { this . _rtype = TYPE_NAMES . HASH ; this . reset ( ) ; if ( source ) { for ( var k in source ) { this . setKey ( k , source [ k ] ) ; } } }
Represents the hash map type.

This is actually a linked list. Keys are stored in an array so
that calls to retrieve the keys do not need to call Object.keys().

Key list retrieval will be fast, sacrificing memory for less cpu
under the assumption that it is easier to supply more memory and harder
to supply more cpu cycles given that this is designed to run within
a single process work cannot be split between multiple cores.

Maintaining a list of keys also allows commands such as RANDOMKEY to
execute with an O(1) time complexity.
Represents the hash map type .