Make up a GPIO_WAKE value for this software interface to use and
check.

It won't be passed to the hardware; just used in the config->modules
to indicate that the GPIO pin defintions should be used.  This commit
also replaces repeated constants with LLWU_ definitions.
Only set GPIO pins for wakeup if GPIO_WAKE is set.

Otherwise, any values in config->gpio_pin would still have been used
as wakeup sources.
Consolidate sleep and hibernate logic into a single function
Now that setup is consolidated, no need for extra helpers.
Remove unused comments
Document problems