code: function(callback, dest)
    {
      var out = dest || new Map();
      var n = this.size();
      var values = this.values;
      var keys = this.keys;
  
      for (var i = 0; i < n; i++)
      {
        var v = values[ i ];
        var k = keys[ i ];
  
        if ( callback( v, k ) )
        {
          out.put( k, v );
        }
      }
  
      return out;
    }
docs: Passes all values & keys in this map to a callback and if it returns a
  truthy value then the key and value are placed in the destination map.
  
  @param  {Function} callback [description]
  @param  {Rekord.Map} [dest]     [description]
  @return {Rekord.Map}            [description]