Integrate building of definitions into central holidays logic

Moves the code for parsing and building definition files into
the main Holidays logic and out of its current location in the
data directory. The core logic for generating definition files
remains the same. The logic is now split across separate
methods and some variables are renamed for clarity.

No behavior change with this commit.
Add ability to load custom holiday definitions on the fly

Adds a 'load_custom' method that accepts custom holiday
definition file(s) that are parsed, loaded, and are immediately
available for use.