Accept custom configs

Fixes & tests for #393. Also adds ability to pass in multiple config files which cascade from right to left (later files override earlier files' configs).

@tobi [put a great use-case very nicely](https://github.com/mojombo/jekyll/pull/393#issuecomment-2267578):

>Same here, we run www.shopify.com from a fork that has this merged. We keep _config.yml with the project but also have _config.live.yml which enables things like asset compression and performs some other tasks that are not needed in development environment.