The CMS CERN Analysis Facility (CAF)