Remove some unnecessary commented-out lines that used to raise exceptions, but now these are all handled by the warn() function.\n\nAlso consolidated warning 014 into warning 010, since it's the same error, and renamed warning 028 to 014 to fill in the gap. None of the tests in the testing suite refer to warning 028 or 014, so this should be fine.
Large changes to the code in this commit, in order to implement templates for generating reference labels and sortkeys.

These changes begin with introducing the 'SPECIAL-TEMPLATES' section to the style files, with two standard entries: 'citelabel' and 'sortkey'. In order to make this work well, I added a couple of new special variables: '<citenum>', '<citekey>', and '<citealpha>'. Moreover, since many citation styles use pieces of names in their reference labels, I also added the special fields '<name.first>', '<name.last>', '<name.middle>', '<name.prefix>', and '<name.suffix>', where "name" is tied first to the list of authors and then to the list of editors (if no "author" field is present) by default.

The tests within the testing suite were all updated to reflect the change, as were the templates in the "templates/" directory.