Move AlarmManager work into an AlarmSetter

The AlarmSetter is triggered on boot in addition to when MainActivity
starts. There appears to be no simple way to "schedule the alarm for
this PendingIntent only if not scheduled", but instead we get the
behavior of "replace any existing scheduled alarm" which is good enough.

Notable modifications along the way:
 - LocationPollerParameter timeout allowed to default to 2 minutes
 - Changed to AlarmManager.setInexactRepeating with
   INTERVAL_FIFTEEN_MINUTES, which gets us batched alarms on pre-KitKat