Implement almost-working norbert parser

Parses norbert-formatted data.

Big bug: For every item in a list past the first, an extra list
with the same name gets created. The extra lists are empty.
Reimplement norbert parser
Refactor common code in norbert_add_* functions
Use enumerate()

Simplify this for loop using enumerate() instead of len(range()).
Print empty lists and compounds

When printing in norbert format with `-p norbert`, print empty
TAG_Lists and TAG_Compounds.
Parse empty lists and compounds

When parsing in norbert format with `-i norbert`, parse empty
TAG_Lists and TAG_Compounds.
Tweak --help message