Added singleton class for settings
Settings Features Updates

Fixed random alarms. Updated settings layout. Added vibration option.
Tried to address a known bug where a null listener is called, but it
still isn't working right.  I think switching to launch a dialog box
from a background service would fix this. So I'm checking in buggy code
cause it will be replaced next.