Boston march against hate speech avoids Charlottesville chaos