Army can't afford enough ammunition to protect Britain, general warns