Optimal multiple stopping: theory and applications