Add a boxen "base download url" for binary downloads

Currently most modules use the `boxen_s3_bucket` values, but this lays the groundwork to change to more generic URLs.

I've also included a custom `facts.d` loader which will load [external facts](https://docs.puppetlabs.com/facter/2.2/custom_facts.html#external-facts) from `$BOXEN_REPO_DIR/facts.d`, instead of Puppet's default directory. These facts will be given a very high weight, in order to allow easy top-level customisation of module-provided facts.