Explicit capacity-achieving list-decodable codes or decoding up to the singleton bound using folded Reed-Solomon codes