Fix #3505: Prevent undefined behavior due to incorrectly sized base_margin (#3555)
Fix #3505: Prevent undefined behavior due to incorrectly sized base_margin (#3555)

The base margin will need to have length `[num_class] * [number of data points]`.
Otherwise, the array holding prediction results will be only partially
initialized, causing undefined behavior.

Fix: check the length of the base margin. If the length is not correct,
use the global bias (`base_score`) instead. Warn the user about the
substitution.
dmlc/xgboost,dmlc/xgboost,dmlc/xgboost,dmlc/xgboost,dmlc/xgboost,dmlc/xgboost