Allow structured biblio references.

These commits do the following, respectively:

1. allow handling references in the form of objects rather than strings.
2. fix whitespace issues in the biblio file.
3. run through the existing refs and modify the ones that can be modified easily so that they are in a structured form.

the goal here is to make updating the references less tedious.