Baltimore and police union reach reach agreement on contract