Distinguish tight and loose lists in Docbook output

Current Docbook output renders tight and loose lists identically. By default, Docbook lists are loose, but it provides an attribute `spacing="compact"` to specify a tight list, on the list element itself. This commit adds the attribute when rendering tight lists. A list is considered to be tight if the first block of the first item is Plain.