Adding an imputation technique for both training and predictions. Categorical features are now split in a binary fashion. A lot of refactoring and cleaning up.