German rail dispute ends as union strikes deal with Deutsche Bahn