Self-Retrieval: End-to-End Information Retrieval with One Large Language Model