GenerateGenerate IDs for headers without a number appended to them, unless that header ID had already been used. Then, start adding numbers to keep the IDs

unique. Also fixes a bug where repeated calls to #to_html would generate different header IDs every time.
Another test