Add a ":first" keyword for those occasions that it's necessary.

Currently, the :init form happens can happen either after or before the require form for the package which prevents it from being used for preparatory work.

This patch adds a :first keyword which always runs first. Another solution would be to change :init to behave predictably before the require, but this might well break existing installations.

I want this so I can pull data from git reliably before doing any using, but it's more general than that.