Use custom object input stream to deserialize

Use a custom object input stream to use the user-specified class loader for recommender engine deserialization. Attempts to fix more bugs using LensKit in Play.