code: function HashMap(source) {
    this._rtype = TYPE_NAMES.HASH;
    this.reset();
    if(source) {
      for(var k in source) {
        this.setKey(k, source[k]);
      }
    }
  }
docs: 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.