SifiNet: A robust and accurate method to identify feature gene sets and annotate cells