code: function parse(contents, options) {
      var commands = [];
      var i;
      var line;
      var lineno;
      var lines = contents.split(/[\r?\n]/);
      var parseResult;
      var remainder = '';
      var includeComments = options && options['includeComments'];
  
      for (i = 0; i < lines.length; i++) {
          lineno = i + 1;
          if (remainder) {
              line = remainder + lines[i];
          } else {
              line = lines[i];
          }
  
          parseResult = parseLine(line, lineno);
          if (parseResult.command) {
              if (parseResult.command.name !== 'COMMENT' || includeComments) {
                  commands.push(parseResult.command);
              }
          }
          remainder = parseResult.remainder;
      }
      return commands;
  }
docs: Parse dockerfile contents string and returns the array of commands.
  
  Supported options:
  {
  includeComments: false,     // Whether to include comment commands.
  }
  
  Each commands is an object with these possible properties:
  {
  name: 'ADD',                 // The name of the command
  args: [ '.', '/srv/app' ],   // Arguments (can be array, string or map)
  lineno: 5,                   // Line number in the contents string.
  error: null                  // Only if there was an error parsing command
  }
  
  @param contents {String}  The dockerfile file content.
  @param options  {Object}  Configurable parameters.
  @returns        {Array}   Array of command entries - one for each line.