TimeCSL: Unsupervised Contrastive Learning of General Shapelets for Explorable Time Series Analysis