*
@method paragraphs([fn])
@returns Array
@short Runs callback [fn] against each paragraph in the string. Returns an array of paragraphs.
@extra A paragraph here is defined as a block of text bounded by two or more line breaks.
@example

'Once upon a time.\n\nIn the land of oz...'.paragraphs() -> ['Once upon a time.','In the land of oz...']
'Once upon a time.\n\nIn the land of oz...'.paragraphs(function(p) {
// Called twice: "Once upon a time.", "In teh land of oz..."
});

*
function(fn) {
      var paragraphs = this.trim().split(/[\r\n]{2,}/);
      paragraphs = paragraphs.map(function(p) {
        if(fn) var s = fn.call(p);
        return s ? s : p;
      });
      return paragraphs;
    }