Better error handling in BibTeX parsing

This isn't a comprehensive set of fixes, but it does make it a little more gracious when fields are missing or unexpected (months, page ranges) and adds a couple macros/document types, enough that at least I could load my own .bib file, as long as I'd converted it all to ASCII.