Part of #1698 Let's make good public classes for trained artifacts of: - `FFM` - `Naive Bayes` - `PCAAnomaly` - `MF` - Any other trainers not covered in sub-issues of #1698 - Move to an appropriate namespace inside `Microsoft.ML` - Reduce the public surface - Add public constructor - Add a sample