Updated FDModel to adhere to the NSCoding protocol.

FDModel is now also responsible for ensuring that there is only ever
one instance of a FDModel class for a given identifier in existence at
any given time.