log problem for empty commit message fixed
(cherry picked from commit 8ab972c)
hg log: first block of commits loaded without changes

*for increasing performance using VcsCommitMetadata instead of VcsFullCommitDetails;
*get factory only once before mapping;
*parents hash constructions moved to a separate method;
(cherry picked from commit 782dc47)