Use custom object input stream to deserialize

Use a custom object input stream to use the user-specified class loader
for recommender engine deserialization.
Merge pull request #450 from grouplens/feature/elehack-class-loader

Use custom object input stream to deserialize