A unanimous Supreme Court ruled on Monday that Boston violated the free speech rights of a conservative activist when it refused his request to fly a Christian flag on a flagpole outside City Hall.