The function will return a new CRF with copied data
Details
This function will duplicate an existing CRF. Since CRF is implemented as an
environment, normal assignment will only copy the pointer instead of the
real data. This function will generate a new CRF and really copy all data.