how long does a roof last on average