Amalgamated changes galore

There are a bunch of accumulated changes in this commit.  They include

  * use library(delay) instead of when/2 where possible
  * use latest library(uri_qq)
  * avoid singleton warnings under latest SWI Prolog version
  * move julian into its own module