John McDonnell pledges billions for schools and hospitals – but Chancellor Sajid Javid calls it a “fantasy”.