function core(source, options) {
  return typeof source === 'string' ?
    fromSource(source, options) :
    fromAST(source);
}
Main entry point to the tool. The function accepts multiple different kinds
of arguments as a convenience. In particular the function accepts either

- a string containing source code
  The string is parsed with Recast
- a single AST node
- a single node path
- an array of nodes
- an array of node paths

@exports jscodeshift
@param {Node|NodePath|Array|string} source
@param {Object} options Options to pass to Recast when passing source code
@return {Collection}