OBR predicts 305,000 more new homes a year by 2029 but government will still struggle to hit manifesto target