First pass at cleaning up fragment generation in URLs and IDs; this may not be exactly the right transformation, but there is a test case in place if we need to change.