Matching Patients to Clinical Trials with Large Language Models