set on boot implementation

This will:

add boot receiver and service, enable set-on-boot option

store the values set by the user into preferences

fix some minor glitches causing warnings