code: function getModifierWhitespace(contract,  modifier){
    const source = contract.slice(modifier.start, modifier.end);
    const whitespace = source.match(crRegex) || [];
    return whitespace.join('');
  }
docs: Captures carriage returns at modifiers we'll remove. These need to be re-injected into the
  source to keep line report alignments accurate.
  @param  {String} contract solidity source
  @param  {Object} modifier AST node
  @return {String} whitespace around the modifier