[VersionControl] Hide abstract constructors

Make them protected instead of public.