Pin initialization on startup.

This code reads the current pin configurations and initializes the pin configuration tracking structure on startup.  Pins that can't be read are just initialized.
The initialization code is called when any code first modifies the pin configuration, so this code will not clobber pin initializations in constructors.