The Isis flag should not be banned by law because Britain is a “free country”, Boris Johnson has said.