When generating API stubs with the scaffold utility using, e.g., `python -m localstack.aws.scaffold sns`,
the scaffold creates method names from operation names, which are ugly when acronyms (subsequent uppercase characters that belong together).

Example:
`CreateSMSSandboxPhoneNumber` -> `create_s_m_s_sandbox_phone_number`

it would be nicer to have `create_sms_sandbox_phone_number`

This is a limitation of this method: https://github.com/localstack/localstack/blob/1888e66b85d7e6a8ee457bc7a732984fcf7aa830/localstack/utils/common.py#L978-L979
blacklist = range(0, 70000)  
        with self.assertRaises(Exception) as ctx:
            common.get_free_tcp_port(blacklist)
        self.assertIn("Unable to determine free TCP", str(ctx.exception))
    def test_port_can_be_bound(self):
        port = common.get_free_tcp_port()
        self.assertTrue(common.port_can_be_bound(port))
    def test_port_can_be_bound_illegal_port(self):
        self.assertFalse(common.port_can_be_bound(9999999999))
    def test_port_can_be_bound_already_bound(self):
        tcp = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        try:
            tcp.bind(("", 0))
            addr, port = tcp.getsockname()
            self.assertFalse(common.port_can_be_bound(port))
        finally:
            tcp.close()
        self.assertTrue(common.port_can_be_bound(port))
    def test_to_unique_item_list(self):
        self.assertListEqual([1, 2, 3], common.to_unique_items_list([1, 1, 2, 2, 3]))
        self.assertListEqual(["a"], common.to_unique_items_list(["a"]))
        self.assertListEqual(["a", "b"], common.to_unique_items_list(["a", "b", "a"]))
        self.assertListEqual(["a", "b"], common.to_unique_items_list("aba"))
        self.assertListEqual([], common.to_unique_items_list([]))
        def comparator_lower(first, second):
            return first.lower() == second.lower()
        self.assertListEqual(["a", "A"], common.to_unique_items_list(["a", "A", "a"]))
        self.assertListEqual(["a"], common.to_unique_items_list(["a", "A", "a"], comparator_lower))
        self.assertListEqual(["a"], common.to_unique_items_list(["a", "A", "a"], comparator_lower))
        def comparator_str_int(first, second):