Abstract out record loader

created an interface for a record loader.  We will use this in the gorm tool so we can have a common interface for 
loading record data