whole_func_string: function _full_delete(hash, key1, key2){
  	    if( key1 && key2 && hash &&
  		hash[key1] && hash[key1][key2] ){
  		    delete hash[key1][key2];
  		}
  	    if( us.isEmpty(hash[key1]) ){
  		delete hash[key1];
  	    }
  	}
func_code_string: function _full_delete(hash, key1, key2){
  	    if( key1 && key2 && hash &&
  		hash[key1] && hash[key1][key2] ){
  		    delete hash[key1][key2];
  		}
  	    if( us.isEmpty(hash[key1]) ){
  		delete hash[key1];
  	    }
  	}
func_documentation_string: Internal helper to delete a low level key, and then if the top-level is empty, get that one too.