A Generic Machine Learning Framework for Radio Frequency Fingerprinting