Add test for .zfill() operator in test1.
Add test for <citealnum> in test7.
Fixed <citealnum> variable - allow other formatting in template string with it.
Updated docs for <citealpha> and <citealnum> special variables.
Modified test4 sortkey template to use .compress() and .purify().
Modified bibulous_test to use .compress() and .purify() operators in test4.
Fixed a typo 'eds, eds,' -> 'eds,' in test4_target.bbl.
Allow generation of sortkeys via templates rather than a special 'generate_sortkey()' function.

This required a number of changes in several places of bibulous.py, largely because attempting this goal uncovered a bug with the implicit loops --- if all variables inside the loop structure are undefined, then it returns the loop ellipsis bracketed by the '???' undefstr replacements. Not good. A better response is to return just 'None', as the code now does.
Modified test4 in bibulous.test to use 'presortkey' and not just 'sortkey'.
Modified test4 in testing suite to use 'presortkey'.
Minor modification to test7.bst.
Fixed error in test2 BST templates.