change caching in registration_period to store ids, not objects, to fix the marshaling/unmarshaling problem causing rp's to be updated constantly
allow registration_period to be nil