Add NBHypothesis and updated NBTrain