OTRecordList: change return type of GetRecord()

GetRecord() used to return a OTRecord shared pointer to the caller
in order to prevent the destruction of that object when OTRecordList
is repopulated. Unfortunately, shared pointers do not work across
the SWIG/Java border. Therefore, we return an OTRecord copy.