whole_func_string: function shuffle (s, splitter) {
                      var a = s.split(typeof splitter === 'string' ? splitter : ''), n = a.length,
                      replaceSplits = n - 1;
  
                      for(var i = n - 1; i > 0; i--) {
                          var j = Math.floor(Math.random() * (i + 1)),
                              tmp = a[i];
  
                          a[i] = a[j];
                          a[j] = tmp;
                      }
  
                      for(var k = 0; k < replaceSplits; k++) a.splice(libs.number.randomIntInRange(0, a.length), 0, splitter);
                      return a.join('');
                  }
func_code_string: function shuffle (s, splitter) {
                      var a = s.split(typeof splitter === 'string' ? splitter : ''), n = a.length,
                      replaceSplits = n - 1;
  
                      for(var i = n - 1; i > 0; i--) {
                          var j = Math.floor(Math.random() * (i + 1)),
                              tmp = a[i];
  
                          a[i] = a[j];
                          a[j] = tmp;
                      }
  
                      for(var k = 0; k < replaceSplits; k++) a.splice(libs.number.randomIntInRange(0, a.length), 0, splitter);
                      return a.join('');
                  }
func_documentation_string: Shuffles a string
  @param {String} s The string to operate on.
  @param {String} splitter A string used to split the string, to tokenize it before shuffling.
  @return {String} The mixed up string.