Fetch metadata from CrossRef

Rewrote some of the existing JS in one commit before adding the CrossRef code - hope that's ok, can split into two pull requests if preferred.