This commit refactors the BibTeX import into a separate function, located in a new publications.utils module.
The admin_views.import_bibtex is changed to make use of the new function. The import of BibTeX data being a
very important and useful operation, it should not be embedded in a view function, but be useful in other
contexts as well, such as custom management commands, where no request object exists.

The new function returns a tuple of (saved_publications_list, error_messages_list), and it is up to the caller
to accept or reject partial results. Note that the publications in the saved_publications_list have already
been saved to the database. If you don't want to save any publications in case one of them has an error,
I would suggest using a django.db.transaction.atomic block around the import_bibtex function, and rolling
back the transaction if there is any error.

The view function in publications.admin_views.import_bibtex has been simplified - it does not return the user
to the form if there was an error. Instead, it simply outputs messages describing the result of the import
operation.

The import_bibtex.html template has been changed to deal with a list of errors. It is however not currently
used to display errors anymore.

Furthermore, this commit adds "proceedings" to Conference type (as seen in the wild). This should really be a
separate commit, but I'm new to git and made a mistake.